Android源码修改:zygote启动时异步加载class

· \frameworks\base\core\java\com\android\internal\os\ZygoteInit.java
    preload()替换为asyncPreload():
    private static Thread mCThread = new Thread(new Runnable(){
        @Override
        public void run(){
            preloadClasses();
        }
    });
    
    private static Thread mRThread = new Thread(new Runnable(){
        @Override
        public void run(){
            preloadResources();
        }
    });
    static void asyncPreload(){
        try{
            mCThread.start();
            mRThread.start();
            mCThread.join();
            mRThread.join();
        }catch(InterruptedException e){
            Log.e(TAG,"asyncPreload failed");
        }
    }

posted @ 2013-12-18 15:26  easynote  阅读(537)  评论(0编辑  收藏  举报