开机时,开机铃声比开机动画晚了几秒。
原因可能是,在new MediaPlayer对象时,有get battery status的操作,而batteryservice在稍后的systemserver进程的初始化才启动,所以导致new MediaPlayer对象的操作在此等待,导致铃声播放延时。且对battery status统计code遍布整个branch,在此拿掉不会造成任何功能性的影响。
[SOLUTION]
可以同时删除以下code测试。
/frameworks/av/media/libstagefright/MediaCodec.cpp
void MediaCodec::setState(State newState) {
updateBatteryStat(); //delete
/frameworks/av/media/libmediaplayerservice/MediaPlayerService.cpp
MediaPlayerService::MediaPlayerService()
{
//----------------------delete----------------------------------
const sp sm(defaultServiceManager());
if (sm != NULL) {
const String16 name(“batterystats”);
sp batteryStats =
interface_cast(sm->getService(name));
if (batteryStats != NULL) {
batteryStats->noteResetVideo();
batteryStats->noteResetAudio();
}
}
//----------delete-------------------