Dan*_*ykt 26 memory lifecycle android process android-activity
我有一个活动,我调用finish()方法,活动不会从内存中清除.
在调用finish()之后,我看到onDestroy()方法成功执行(我清除了所有变量和内容).
它应该从内存中清除还是它的android如何工作?据我所知,活动的LifeCycle已经完成.
如果它将应用程序保留在内存中,以便在用户第二次使用它时运行得更快,那么我可以将哪些对象留在内存中以便重用?如果我理解正确,我想要清除onDestroy上的所有内容.
小智 27
最好的方法是首先使用finish()
,然后System.exit(0)
用于清除静态变量.它会给你一些自由空间.
许多应用程序留下了令我生气的工作流程和变量.使用内存30分钟后,我必须运行任务管理器 - Lvl 2清除内存
我的应用程序中已经尝试了3年以上的问题,这是不正确的.使用后永远不会崩溃或重新启动Exit()
一旦onDestroy()被调用,您的活动就注定了.期.
话虽如此,分配给您的应用程序的进程(以及地址空间)可能仍然被您的应用程序的另一部分 - 另一个活动或服务使用.您的流程也可能是空的,操作系统还没有回收它; 它不是即时的.
有关详细信息,请参阅Process Lifecycle文档:http:
//developer.android.com/reference/android/app/Activity.html#ProcessLifecycle
无论如何,如果您的活动重新启动,它将必须再次完成整个启动序列,从onCreate()开始.不要以为任何东西都可以被隐含地重用.