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由此解决。这个问题的根本是执行了两次数据库写入操作,更好的方法应该是判断并跳过,这样解决更为全面。

 

Android源码的BUG

上一篇:android自带zip轻松实现压缩解压


下一篇:在eclipse中创建web项目