<category androID:name="androID.intent.category.LAUNCHER" /> </intent-filter>
我运行ps命令.
USER PID PPID VSIZE RSS WCHAN PC nameapp_137 2974 91 478604 48524 ffffffff 00000000 S com.explore
我按回按钮.我离开了应用程序并进入主屏幕
现在再次运行ps命令.
USER PID PPID VSIZE RSS WCHAN PC nameapp_137 2974 91 472428 42572 ffffffff 00000000 S com.explore
过程2974仍在运行.有人可以解释一下我的行为吗?那是内存使用,状态或进程持续多长时间?按下后我应该从我的代码中删除进程吗?如何优雅地杀死进程?
解决方法 运行应用程序时,如果它尚未运行,则会获得新的进程ID.这个ID会一直存在,直到它不再存在于内存中. (这可以通过使用“应用程序设置”中的“强制停止”选项来实现和测试.)但是,当用户点击后退或主页按钮时,应用程序不会退出,在大多数情况下,只会暂停或停止.
您可以阅读this documentation,其中详细介绍了流程生命周期.第1点和第2点基本上表示除非绝对必要(强制关闭或没有记忆),否则不会终止前景处理(或者表面处理之后的处理).第3点很重要;它说任何不再需要的过程 – 即.用户已“关闭”它 – 可能会也可能不会被杀死,具体取决于设备的内存.最后,第4点,任何没有做任何事情,但只是……现有……将尽快被杀死.
您可能还想查看Activity
lifecycle.这将准确地显示应用程序的每个步骤何时发生(即,何时暂停,何时停止以及何时销毁).它没有真正涵盖的唯一内容是内存过度分配(或方向更改,重新触发整个生命周期).
总而言之,请记住AndroID很聪明.它比大多数开发人员更好地管理其流程,并尝试尽可能多地保留流程以便于重用.除非你绝对确定你希望你的进程没有内存,否则你永远不应该杀掉它.和the way we have to kill and manage processes is never pretty.
总结以上是内存溢出为你收集整理的Android应用程序.处理全部内容,希望文章能够帮你解决Android应用程序.处理所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)