之前整理过一篇全局字体设置||老年模式的文章,提到过4种方法,各有利弊。最后推荐了方法4,自定义binding属性来实现。这里扩展一篇。自定义binding实现的确不错,最大的优点就是可以实时改变全局字体。但是也有它的缺点,那就是麻烦,不但要在本地处理一些数据,还要在每个xml中加入binding属性,每个控件都绑定了一个监听,虽然通过livedata进行了优化,但是不可否认的是,它会使内存增大。app运行内存过大,进入后台就很容易被系统回收,体验非常不好。所以如果从这个角度去考虑的话,系统自带的方法无疑是最合适的选择。前面提到过的四种方法:1.通过AppTheme主题设置通过配置不同的字体主
1. 回收1.1. 找到不使用的对象1.2. 释放它们的内存1.3. 压缩堆1.4. 合在一起称为回收2. Throughput回收器2.1. 工作细节比较简单2.1.1. 可以在同一个GC周期内完成回收2.1.2. 在单次操作过程中回收新生代或老年代2.2. MinorGC2.2.1. 当Eden空间被填满时,新生代回收就会发生2.2.2. 新生代回收会将所有的对象移出Eden空间2.2.2.1. Eden空间一般是空的2.2.2.2. 不认为它被压缩了2.2.3. 另一些被移到老年代2.2.4. 还有大量对象因不再使用而被丢弃2.3. FullGC2.3.1. 老年代回收会将新生代中的所有
1. 回收1.1. 找到不使用的对象1.2. 释放它们的内存1.3. 压缩堆1.4. 合在一起称为回收2. Throughput回收器2.1. 工作细节比较简单2.1.1. 可以在同一个GC周期内完成回收2.1.2. 在单次操作过程中回收新生代或老年代2.2. MinorGC2.2.1. 当Eden空间被填满时,新生代回收就会发生2.2.2. 新生代回收会将所有的对象移出Eden空间2.2.2.1. Eden空间一般是空的2.2.2.2. 不认为它被压缩了2.2.3. 另一些被移到老年代2.2.4. 还有大量对象因不再使用而被丢弃2.3. FullGC2.3.1. 老年代回收会将新生代中的所有