DelayLoadSample

这是一篇 Android DelayLoad 的博文中所带的例子.

文章地址:
Android 应用启动优化:一种 DelayLoad 的实现和原理(上篇)

Android 应用启动优化:一种 DelayLoad 的实现和原理(下篇)

欢迎提出更好的思路大家一起讨论。

第一种写法:直接 Post

myHandler.post(mLoadingRunnable);

第二种写法:直接 PostDelay 300ms.

myHandler.postDelayed(mLoadingRunnable, DELAY_TIME);

第三种写法: 优化的 PostDelay ,两次进行 Delay Load

getWindow().getDecorView().post(new Runnable() {
    @Override
    public void run() {
        myHandler.post(mLoadingRunnable);
    }
});

第四种写法(推荐):使用 IdleHandler 进行 Delay Load

// 利用 IdleHandler
MessageQueue.IdleHandler idleHandler = new MessageQueue.IdleHandler() {
    @Override
    public boolean queueIdle() {
        updateText();
        return false;
    }
};
Looper.myQueue().addIdleHandler(idleHandler);