大家好,小弟最近在做android开机动画,网上搜到bootanimation这个东东,挺好用的,我的文件系统(ext4格式)放在SD卡上,播放开机动画没有问题,但是我把文件系统(ubi格式)放在Nand上面,结果开机动画跑了一半就进android主界面了。
    个人认为由于系统在Nand上,开机会比在SD卡上快,所以动画还没放完就进系统了...有什么办法可以保证开机动画播放完毕才进系统主界面啊?要去改bootanimation的源码吗(frameworks/base/cmds/bootanimation)?谢谢!

解决方案 »

  1.   

    原始的就是一个静态透明字体的图片,和一个光束的图片在滑动,所以周期短,动作重复,不管什么时候进系统都不会有什么问题,你那个动画估计时间太久了,实在不行就在后面加上sleep试试吧,其实原始的有sleep,只是时间很短的。做产品开机时间很重要,这样得不偿失啊,建议动画时间缩减。
      

  2.   

    问题解决了,修改system/core/init.c,在service_start函数里检查svc->name是不是bootanim,是的话调用waitpid等待bootanim进程结束,这样就算bootanimation再长,主界面还是会在动画结束之后才出来