最近做内存优化的时候,想对首页做延迟加载的优化,在嵌套的情况下有点小问题,所以打算顺便就把这几个类的具体内容看下,屡下思路,然后试着自己改造封装一下,从而满足嵌套情况下的一些小问题。

#起航
SDK23–support-v4

public class ViewPager extends ViewGroup 

我们先来看下一个view的三个绘制步骤onMeasure,onLayout,onDraw三个函数。
再在去看下几个常用的接口,设置adapter的内容,以及选中特定页面的逻辑。
最后再看下对于touch事件的处理。

Read more »

在很久很久的塞班时代,那时候的程序几十KB就算大了。
在不久的几年前,很多APP也是几M大小。
不过到了最近几年,都是几十M的。
你看那微信,支付宝,滴滴打车,都是50M差不多大小的巨兽

对于要压缩我们的apk大小,需要一些指导的思想,告诉我们往哪里找空间

enter image description here

这张图片告诉我们一个方向

  1. 压缩项目代码量,删除过时没用的
  2. 降低我们的资源文件大小,例如图片,用混淆等
  3. 下载的第三方库和so等文件尝试用更小的
  4. 一些assets的内容不用的移除
Read more »

我们新建一个对象后,到底我们的虚拟机是怎么分配空间的呢?
我们以前都听说是一些基本数据类型会被放到栈。如果是对象的话,会放到堆里面去,对这个对象的引用是放到栈里面去的。类似下面这张图一样,我们的data这个变量是放在左边的栈,然后实际的内存空间即data引用的这部分,是放在右边的堆里面的。

那么实际是这样吗?真的是这样吗?

enter image description here

我们带着疑问,来看下dalvik为对象分配内存过程是怎样的,最后来回复这个问题。

Read more »

关于APP的优化,有一点就是关于电量的内容。
关于我们的app耗电,在前几年,各类的XXX管家等软件都充斥各种耗电排行榜和各种所谓的节能省电设置。PM看了说我们得优化啊,让开发不得不花点心事在这事情上。那时觉得,因为你用户用得多,耗费的电自然多啊,排在前面很正常啊,应该开心才对啊!!
不过到好,前段时间看到一份“互联网女皇”玛丽·米克尔发布的最新版《全球互联网趋势报告》,BAT的统治了71%的互联网流量,相应的手机电量估计也不弱。

说了那么多,我们先来看下到底系统是怎么多电量的统计的,知道他是怎么算的,我们才能更好的对症下药。

Read more »