Android源码的BUG

在Android系统移植过程中,遇到很多源码上的BUG。但是我们看到市面上都是没有这些问题的。难道这些BUG在每个开发商都要经历一次解BUG的过程吗?Android释放的源码是否是最新的?暂时没有想法。仅在此记录我遇到的Android源码上的BUG。

 

MTK8382/8121:

1、Launcher3无图标问题

机器(8寸)第一次烧录完成后,横放,启动,发现Launcher没有图标。竖屏没有这个问题。进一步发现对Launcher3 Clear data后也会如此。对比database,发现workspaces字段没有写入。经过调试,判断是软件默认竖屏,如果在首次Launcher3初始化时(此时database没有数据)是横屏,则会重新onCreate(每次转屏都会重新进行Launcher->onCreate())。连续执行两次onCreate()导致第一次的database还没有写完,第二次就来了,从而使数据库写入错误。

观察AndroidManifest.xml发现android:screenOrientation属性是nosensor,所以每次启动都是默认(竖屏)。改为sensor后,第一次初始化方向和实际方向一致,则不会出现执行两次onCreate()的情况,BUG由此解决。这个问题的根本是执行了两次数据库写入操作,更好的方法应该是判断并跳过,这样解决更为全面。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。