gpt4 book ai didi

android - 搜索启动方法,如果 Android 启动我的程序

转载 作者:行者123 更新时间:2023-11-30 04:05:45 26 4
gpt4 key购买 nike

我创建了一个应用程序,其中的服务作为我的应用程序的后台线程运行。由于内存不足,Andrdoid 有时会杀死一些应用程序。这些已被杀死的应用程序之一是我的应用程序:

07-29 14:48:35.140 I/ActivityManager( 145): Process test.myApp (pid 4847) has died.

07-29 14:48:35.140 W/ActivityManager( 145): Scheduling restart of crashed service test.myApp/.hilfsklassen.AutoSyncService in 19600ms

07-29 14:48:35.140 I/WindowManager( 145): WIN DEATH: Window{4071e300 test.myApp/test.myApp.Login paused=false}

07-29 14:48:35.150 I/WindowManager( 145): WIN DEATH: Window{407def28 test.myApp/test.myApp.Startseite paused=false}

Android 几秒钟后启动了我的应用:

07-29 14:48:54.750 I/ActivityManager( 145): Start proc test.myApp for service test.myApp/.hilfsklassen.AutoSyncService: pid=7299 uid=10057 gids={3003}

但是有一个问题:

我的服务需要来自 test.myApp 的一些数据才能运行。
所以我知道如果 Android 启动我的应用程序,我的启动 Activity 将调用什么方法??
< br/>我试过 onResume(),但这只适用于我的应用程序具有焦点(前景)的情况。如果 Android 启动我的应用程序,它会在后台运行。所以我想一定是onRestart(),但是这个方法没有被调用。我必须在此方法中启动我的服务,以便设置运行该服务所需的一些变量!

克里斯

最佳答案

当内存不足时,Android 运行时会在没有警告的情况下终止后台服务。如果服务的 onStartComand() 方法返回 START_STICKYSTART_FLAG_REDELIVERY,它将在稍后重新启动。 .在后一种情况下,启动服务的原始 Intent 与所有额外数据一起重新交付。 Activity 只会在用户手动启动时启动。

另一种方法是将您的数据存储在某处(例如,在 sharedPreferences 中)并在服务中检索该数据。这样服务就独立于 Activity 。希望对您有所帮助。

关于android - 搜索启动方法,如果 Android 启动我的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11710155/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com