我观察到以下行为:
- 如果我通过
Recent
按钮切换到另一个应用程序,然后切换回我应用程序,一切正常 - 如果我按下
Home
按钮,然后从应用程序抽屉中打开应用程序,应用程序将重新启动
Android版本似乎并不重要。相反,安装类型会造成差异。如果我将apk复制到设备上并手动安装,我会得到上述行为。如果我使用Visual Studio并为发布/调试构建,它工作起来没有问题。它应该是相同的apk文件!Device log
在应用程序终止时显示以下日志:
12-03 15:29:36.402 10719 10719 I SomeApp: ================ Xamarin: OnSleep()
12-03 15:29:36.410 1350 3999 E WindowManager: win=Window{cf46d1f u0 com.company.someapp/crc64cf5f37a7af23dc58.MainActivity} destroySurfaces: appStopped=true win.mWindowRemovalAllowed=false win.mRemoveOnExit=false win.mViewVisibility=8 caller=com.android.server.wm.AppWindowToken.destroySurfaces:1248 com.android.server.wm.AppWindowToken.destroySurfaces:1229 com.android.server.wm.AppWindowToken.notifyAppStopped:1284 com.android.server.wm.ActivityRecord.activityStoppedLocked:2776 com.android.server.wm.ActivityTaskManagerService.activityStopped:2512 android.app.IActivityTaskManager$Stub.onTransact:2280 android.os.Binder.execTransactInternal:1056
12-03 15:29:36.410 1350 3999 I WindowManager: Destroying surface Surface(name=com.company.someapp/crc64cf5f37a7af23dc58.MainActivity$_10719)/@0xe1a35ad called by com.android.server.wm.WindowStateAnimator.destroySurface:1834 com.android.server.wm.WindowStateAnimator.destroySurfaceLocked:733 com.android.server.wm.WindowState.destroySurfaceUnchecked:3642 com.android.server.wm.WindowState.destroySurface:3616 com.android.server.wm.AppWindowToken.destroySurfaces:1248 com.android.server.wm.AppWindowToken.destroySurfaces:1229 com.android.server.wm.AppWindowToken.notifyAppStopped:1284 com.android.server.wm.ActivityRecord.activityStoppedLocked:2776
12-03 15:29:36.411 820 1120 I Layer : id=2656 removeFromCurrentState com.company.someapp/crc64cf5f37a7af23dc58.MainActivity$_10719#0 (77)
12-03 15:29:36.413 820 1120 I SurfaceFlinger: id=2656 Removed com.company.someapp/crc64cf5f37a7af23dc58.MainActivity$_10719#0 (77)
AndroidManifest.xml
启动应用程序的设置是否错误?我的应用程序使用android:launchMode="singleTop"
。我还检查了电池节省,但行为没有改变。RAM使用也正常。这种情况发生在不同的三星设备上。
我怎样才能找出原因呢?
2条答案
按热度按时间bpzcxfmw1#
是三星启动器的问题,刚安装的是侧面加载的应用,如果安装后点击“打开”就会出现问题,看来是
Intent
类型和软件包安装程序的问题,应用没有被杀,而a new instance is created(类似的问题,请参阅here或here,并尝试后退按钮!).这取决于如何打开应用程序. Xamarin解决方案发布here不适合我.因为这是一个小问题,在真实的生活中并不常见,所以解决方案是不要在安装后直接打开应用程序,而是使用应用程序抽屉,然后一切都正常。或者使用其他设备制造商,如LG,它没有这个问题。
dy1byipe2#
检查您是否已在开发者设置中选中“不保留活动”选项。