我很难确定问题。
当我从市场安装我的应用程序时,我有时会看到以下行为:
onCreate都会一直被调用。显然,这会导致国家等方面的重大问题。
有时重启手机可以解决这个问题,有时候不行。从.adb安装可以防止此行为。
从图标触摸(在已经运行时)的行为应用程序中记录:
2-10 18:56:33.855: INFO/ActivityManager(1482): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.sidekickApp/.Main } from pid 1604
02-10 18:56:33.855: VERBOSE/HtcAppUsageStats(1482): (launch app, package): (Sidekick App, com.sidekickApp)
02-10 18:56:33.865: DEBUG/PhoneWindow(1604): couldn't save which view has focus because the focused view com.android.internal.policy.impl.PhoneWindow$DecorView@40547888 has no id.
02-10 18:56:33.865: DEBUG/Background traffic light(1604): traffic light: GREEN, mBackgroundTrafficLight = false
02-10 18:56:33.895: VERBOSE/Main(2648): Debug: onRestart()
02-10 18:56:33.895: DEBUG/Main(2648): Debug: onResume()
从混乱的应用程序中记录:
02-10 18:39:35.813: INFO/ActivityManager(1477): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.sidekickApp/.Main bnds=[360,586][477,704] } from pid 1583
02-10 18:39:35.843: VERBOSE/HtcAppUsageStats(1477): (launch app, package): (Sidekick App, com.sidekickApp)
02-10 18:39:35.873: DEBUG/Background traffic light(1583): traffic light: GREEN, mBackgroundTrafficLight = true
02-10 18:39:35.903: VERBOSE/Main(7364): Debug: onCreate()
我在这里绝望。有什么想法吗?
答案 0 :(得分:2)
如果正在调用onStop(),则onResume没有任何内容。它仅在onPause之后调用。只有在您编写代码时才会调用onRestart。见http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle
答案 1 :(得分:2)
我终于找到了答案,这是对这个问题的第一反应:
How to prevent multiple instances of an activity when it is launched with different intents
答案 2 :(得分:-1)
这实际上与市场无关。如果Android没有足够的资源将您的应用程序保留在内存中,那么它将从内存中删除,并且它的进程将被终止,并且在下次启动应用程序时将再次调用onCreate
。可能发生的事情是,当您以这种方式安装并导致所描述的行为时,Market正在占用您设备的所有内存。