Warning: Error while sending QUERY packet. PID=4752 in /home/wwwroot/coco/domain/cnlamp/web/wp-includes/wp-db.php on line 1877 手下留情!不要把智能手机里运行着的应用程序全部杀死 | LAMP新闻|技巧|经验|资讯站
现在的位置: 首页其他>正文
手下留情!不要把智能手机里运行着的应用程序全部杀死
发表于4年前 其他 暂无评论

美国著名iOS开发者Harlan Haskins经常看到人们在错误地谈论“需要”杀死所有应​​用程序,这令他很担心,因为他觉得这意味着缓存、下载等任何形式的进程在待机时会被完全中断。

如果你知道待机过程的工作原理,就可以理解为什么不必要杀死所有运行的应用程序了。这种完全杀死的方式还会降低应用程序的性能。

iOS系统中的应用程序在运行时,系统会调用一系列如applicationWillResignActive和applicationDidEnterBackground等方法。苹果设计的多任务操作系统不需要用户去思考怎么管理空闲内存或其他事情,因为系统本来就会填补尽可能多的内存。Android的多任务操作系统工作方式也类似,只不过系统控制要少得多。

当系统内存快要不够用时,如果在这时你新打开一个应用程序,那么所有当前正在运行的应用程序就只能发送一些其他的消息。首先,他们会发出一条警告的消息:嘿,我得到一个内存警告。请你从内存中删除一些东西好吗?

这就是所谓内存警告——applicationDidReceiveMemoryWarning,这时viewController会调用didReceiveMemoryWarning方法。如果仍然没有释放足够的内存,系统就会调用杀死进程方法:applicationWillTerminate。

手机系统是一个令人难以置信的依赖于内存的复杂系统,杀死所有应用程序其实是在降低系统性能,因为想再要运行某个应用程序,你需要重新打开它。

况且你杀死全部程序以后再重新打开会比让它们在后台运行耗费更多的电量。

给我留言

留言无头像?


×
腾讯微博