【技术贴】2.0的art模式,应用程序停止运行原因
xplay3s吧
全部回复
仅看楼主
level 11
经一番测试,我发现,在2.0的art模式下,有好多应用程序不能打开,一点就会【很抱歉,...已停止运行】,这是有原因的。
归根结底,这跟art的机制和系统内存有关。
art是事先在开机前【所谓系统升级】阶段,一个一个的把所有应用程序的启动串先给写好保存在系统内存里,这样一来,要打开哪个应用程序时,直接读取启动串文件,节省打开时间【在一般的模式是每次打开时都要编译一下启动串后再运行启动串】。
art模式,就相当于做数学题,直接套公式,而不是先推导出公式再套。节省了推导公式的时间。然而在这里我们要讲一下art的弊端,前面我们说过,art是把启动串保存在了系统内存,也就是说art比一般da模式多占用了系统内存来存放启动串文件。
2014年12月21日 04点12分 1
level 11
所以系统空间会被压缩。一般咱们3s软件都很多吧,【我最多的时候210多个,现在192个】,所以问题就来了:系统空间被严重压缩,导致为了节省空间留一部分空间给程序用,有的启动串写入不成功甚至没有写入,【尤其是本身比较大的一些软件,我的精神病院3(160多MB)就“停止运行了”】。所以在art模式下,有的程序因找不到完整的启动串文件而无法打开。我最多的那次200多个应用程序,art模式下,一开机就是提示【系统空间严重不足】然后自己弹出来说【某某程序已停止运行】,好多系统自带的那些开机就自启的程序根本就无法启动,更不用说其他程序。所以这是其中一个原因。
还有一种情况,是我以前出现过,今天才懂的。就是在art模式下,因为系统内存只有几百MB了所以想把一些应用程序搬家到手机U盘,我想很多吧友跟我一样吧。结果就是搬家后的应用程序根本无法打开,提示【很抱歉,某某已停止运行】,在这里我只想提醒一下,千万不要在art模式下把任何应用程序搬家尤其是本身就空间不太大急需腾出空间的系统内存里的应用程序,因为你搬家之后,art的启动串并没有为之重新编译,也就是说,当它搬家后你想打开它,因为位置、路径变了,所以仍旧是没有对应的启动串。
2014年12月21日 04点12分 2
level 11
总结一下,1.art模式适合系统内存剩余空间足够的情况【一般建议195个应用程序以内,系统空间剩余不要小于1.1GB】
2.记住不要在art模式下进行应用程序搬家,要先规范davilk模式再搬家,搬家后可以再启动art模式。
2014年12月21日 04点12分 3
2.这种,重启机子就好了,没必要返回davilk模式再搬家
2015年03月04日 06点03分
level 11
纯原创,纯手写,请求加精。
@挚罡天仆
2014年12月21日 04点12分 4
level 11
2014年12月21日 04点12分 5
level 11
另外提醒一下,在dalvik模式下搬家的应用程序,在刚刚转化成art模式时,一开始会不显示这些应用的图标,要等几分钟才好因为这是被搬家的,要重新读取。还有刚搬家的软件第一次打开时会有点慢,以后就好了
2014年12月21日 05点12分 6
level 11

2014年12月21日 09点12分 7
level 11
这个麽,在我第一次来art时就发现了
2014年12月21日 15点12分 9
level 11
顶一下
2014年12月23日 09点12分 10
已加
2014年12月24日 14点12分
level 1
这个必须顶!
2015年03月03日 08点03分 11
level 1
楼楼,我刚更新6.6.8然后手机安仔就一直躺地上了,怎么办,电源键加键都没有用
2015年03月04日 05点03分 12
level 1
我想知道怎么打开art
2015年03月04日 11点03分 13
1