
android性能优化
android常见的性能优化
qinbin2015
坚持就是胜利
展开
-
viewPager+Fragment从零开始实现懒加载
相信很多小伙伴在面试的时候,都会被问到性能优化这一块,当然对于一个成熟的app,这一块是必不可少的。我们在开发app的时候,经常会有这样的需求:底部或者顶部几个栏目,中间内容跟着栏目的切换而变化,需要用到的控件就是TabLayout+ViewPager。做出来这样的效果其实并不难,跟着官方文档也能做出来,但是你真正了解过ViewPager的缓存机制吗?你知道在viewPager中Fragment的...原创 2020-03-27 17:04:43 · 1464 阅读 · 0 评论 -
JVM内存管理
在jdk1.8之后元数据区取代了永久代。元空间的本质和永久代类似,都是对JVM规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元数据空间并不在虚拟机中,而是使用本地内存...原创 2019-07-06 14:24:09 · 149 阅读 · 0 评论 -
性能优化--垃圾回收器
首先需要了解JVM的内存管理,分为两大块:共享区内存:堆,方法区独占区内存:虚拟机栈、本地方法栈、程序计数器具体的可以参考我的另外一篇文章**JVM内存管理 。**其中程序计数器是负责程序的执行操作,比如一个程序执行到第10行代码,另外一个程序开始执行。当另外一个程序完成后,就需要回到之前的第10行继续执行。这就需要程序计数器进行分配调度了。一、垃圾标记算法1、引用计数法引用计数法...原创 2019-11-07 17:46:56 · 156 阅读 · 0 评论 -
性能优化--handler内存泄漏分析
开发中,如果代码不规范很容易产生内存泄漏,比如Handler、Context、线程等使用。本文使用Android Studio自带的Profiler和MAT工具进行内存泄漏分析。一、内存泄漏1、定义handlerprivate Handler mHandler = new Handler(new Handler.Callback() { @Override p...原创 2019-11-22 17:43:28 · 261 阅读 · 0 评论 -
性能优化--启动黑白屏优化
相信大家都会有这样的经历,就是新创建的项目运行app后,发现会出现短时间的白屏或黑屏,然后才进入主界面。为什么会出现这样的现象呢?谷歌工程师出于怎样的考虑呢?我们该如何解决呢?基于这样几个问题,开始分析。一、手机启动流程当我们点击开机的时候,首先会通过引导芯片启动Linux内核,通过它会创建init进程,然后孵化出Zygote进程。然后Zygote进程孵化出SystemServer进程,初始...原创 2019-12-04 13:52:28 · 411 阅读 · 0 评论 -
性能优化--哈夫曼算法原理
大家都知道,使用哈夫曼压缩能达到无损压缩,也就是说。保证了原图质量的同时,能够降低图片的大小。这是什么原理呢?首先我们需要了解的是Android系统加载图片使用的是Skia加载库,当然这个库的底层还是是用的jpeg对图片进行压缩处理,但是为了能够适配低端的手机(这里的低端是指以前的硬件配置不高的手机,CPU和内存在手机上都非常吃紧 性能差),由于哈夫曼算法非常吃CPU,被迫用了其他的算法。所以Sk...原创 2019-12-17 13:56:27 · 1911 阅读 · 0 评论 -
性能优化-apk瘦身
作为应用的使用者而言,apk的体积越小当然是越喜欢的。这样不仅能节省手机的存储空间,并且在应用市场下载的速度也快加快。所以,对于开发者来说,了解常用的apk瘦身技术是不可避免的。一、图片瘦身1、webP使用先看一张截图原始图片为png格式,大小为38.5kb,经过转换后大小为6.7kb,仅仅是原图的17%。但是使用webP要求手机最低支持版本为api18 计版本4.3。如果你需要从4.0...原创 2019-12-18 14:04:19 · 325 阅读 · 0 评论