应用程序首次启动时终止并删除了SharedPreferences

时间:2019-02-16 14:41:57

标签: android

我进行了很多搜索,但找不到这个真正奇怪的问题的解决方案:

安装后首次启动该应用程序时。它会保持正常运转一分钟,然后关闭。 当我再次启动它之后,我发现之前一分钟内创建的所有数据都被擦除了(SharedPreferences + Sqlite Data),但是该应用程序没有再次关闭并且可以正常工作(仅在启动该应用程序时才会发生此问题)安装后的第一次)

我无法找出问题的原因,因为设备上和Android Studio上均未显示任何错误(“运行”部分显示的全部是“应用程序已终止”。)

  • 我认为与活动中的代码没有任何关系(无论哪个活动首次启动,应用程序始终关闭)

这是日志

02-16 16:03:56.965 987-1456/? I/AudioService: getStreamVolume 3 index 0
02-16 16:03:56.975 28996-3478/? W/art: Suspending all threads took: 6.923ms
02-16 16:03:57.055 987-1108/? E/BackupManagerService: Timeout restoring application com.myapp.xxxx
02-16 16:03:57.055 987-1108/? V/ApplicationPolicy: isApplicationStateBlocked userId 0 pkgname com.myapp.xxxx
02-16 16:03:57.065 987-1108/? I/ActivityManager: Force stopping com.myapp.xxxx appid=10796 user=0: clear data
02-16 16:03:57.065 987-1108/? I/ActivityManager: Killing 3100:com.myapp.xxxx /u0a796 (adj 0): stop com.myapp.xxxx cause clear data
02-16 16:03:57.065 987-1108/? D/ActivityManager: cleanUpApplicationRecord -- 3100
02-16 16:03:57.065 987-1108/? W/ActivityManager: Force removing ActivityRecord{d2836da u0 com.myapp.xxxx/.WelcomeActivity t1689}: app died, no saved state
02-16 16:03:57.075 987-1108/? E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!
02-16 16:03:57.095 18814-18828/? I/art: Background partial concurrent mark sweep GC freed 83287(4MB) AllocSpace objects, 92(4MB) LOS objects, 23% free, 25MB/33MB, paused 2.146ms total 343.743ms
02-16 16:03:57.105 987-1108/? D/InputDispatcher: Focus left window: 3100
02-16 16:03:57.125 255-742/? I/SurfaceFlinger: id=3653 Removed XelcomeActi (4/7)
02-16 16:03:57.125 255-6235/? I/SurfaceFlinger: id=3653 Removed XelcomeActi (-2/7)
02-16 16:03:57.135 987-1108/? D/InputDispatcher: Focused application released
02-16 16:03:57.135 987-1018/? E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!

1 个答案:

答案 0 :(得分:0)

对于可能遇到相同问题的任何人: 该应用程序停止的原因是backupmanagerservice,如logcat所示:

E/BackupManagerService: Timeout restoring application com.myapp.xxxx
V/ApplicationPolicy: isApplicationStateBlocked userId 0 pkgname com.myapp.xxxx
I/ActivityManager: Force stopping com.myapp.xxxx appid=10796 user=0: clear data
I/ActivityManager: Killing 3100:com.myapp.xxxx /u0a796 (adj 0): stop com.myapp.xxxx cause clear data
D/ActivityManager: cleanUpApplicationRecord -- 3100
W/ActivityManager: Force removing ActivityRecord{d2836da u0 com.myapp.xxxx/.WelcomeActivity t1689}: app died, no saved state
E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!

我通过在AndroidManifest文件中添加以下行来修复此问题:

android:allowBackup="false"