android app 延迟加载的正确姿势:
getWindow().getDecorView().post(new Runnable() {
@Override
public void run() {
Handler.post(Runnable);
}
}
一般说到延迟加载都会想到handler.postDelay() 但是这种方法并不十分适用app启动时的延迟加载
因为android的版本机型之多,且配置的不同启动时间也变得不同,如果设定一个确定的时间的话,对于某
些高端机型就会造成许多不必要的等待.所以 handler.postDelay() 这个方法并不适用
于是就用到了上述方法~ getWindow()返回Window对象,根据api getDecorView ():
Retrieve the top-level window decor view (containing the standard
window frame/decorations and the client’s content inside of that), which can be added as a window to the window manager.
然后它会返回 top-level window decor view 之后调用View的post的方法,在UI线程执行Runnable方法
参考:Android应用启动优化:一种DelayLoad的实现和原理
http://androidperformance.com/2015/11/18/Android-app-lunch-optimize-delay-load.html