应用启动的时间作为应用的门面,重要性可想而知。尤其在如今的快时代,一款秒开的App比一款启动需要耗费好几秒的App更容易被用户喜爱和长期使用,整的不好还容易被用户永久拉入黑名单。这时候,应用的启动优化就必不可少了。那么接下来就来了解下关于启动优化的一些注意事项。
不使用第三方库,Bitmap的优化策略
如今市场上有很多封装好的第三方库,对Bitmap内存也是做到了很好的优化,比如Glide、Fresco,每次加载只要直接调用就好,但是除掉第三方库外,我们还是需要去了解一下Bitmap的基本优化手段。
Android界面刷新机制分析
UI流畅性一直是Android口碑的问题之一,在Android4.1的时候,推出了Project Butter。而Project butter引入了三个重要元素:VSYBC、TripleBuffer、Choreographer,下面就是基于这三个要素对屏幕刷新机制进行分析。
默认状态下,ViewGroup为什么不走onDraw()?
SystemUI(三)扒一扒WindowManager的addView
从上面两篇SystemUI中发现StatusBar是通过WindowManager的addView()添加在界面上,那么内部Window是如何进行添加的?
SystemUI(二)WindowManager与LayoutParams的解析
在上一篇《SystemUI(一)基于Android9.0SystemUI的启动与定制化》中,了解了SystemUI的启动流程,同时也知道流程的最后主要是StatusBar通过WindowManager的addView()将view装载在系统的界面上,在此之前都要利用WindowManager.LayoutParams来设置该window的显示,那么在源码里出现的WindowManager是什么?WindowManager.LayoutParams的参数又有什么特点?下文就将从这两个方面来分析WindowManager。
SystemUI(一)基于Android9.0SystemUI的启动与定制化
众所周知SystemUI包含基本的StatusBar、VolumeBar、NavigationBar等部分,在手机开机时就已经为我们加载好,但是有时候会出现对StatusBar,DropList等进行定制化的任务,那么就需要了解SystemUI的启动流程,了解StatusBar,DropList等view是如何加载在系统界面上,下文是从SystemUI启动入口、SystemUI的加载机制以及以StatusBar为例来分析整个流程。下图为SystemUI启动的整个时序图: