内存优化
文章平均质量分 68
博艺
这个作者很懒,什么都没留下…
展开
-
Android开发中VSS、RSS、PSS、USS的区别
表示一个进程在RAM中实际使用的空间地址大小,它按比例包含了共享库占用的内存。假如有3个进程使用同一个共享库,那么每个进程的PSS就包括了1/3大小的共享库内存。在实际中很少用这种方式来表示进程占用内存的情况,用它来表示单个进程的内存使用情况是不准确的。RSS可能会产生误导,因为它报告进程使用的所有共享库的总数,即使共享库只加载到内存中一次,无论有多少进程使用它。表示一个进程在RAM中实际使用的空间地址大小,包括了全部共享库占用的内存,这种表示进程占用内存的情况也是不准确的。原创 2022-10-20 10:47:16 · 1462 阅读 · 0 评论 -
Android 轻量级存储方案的前世今生【SharedPreferences、MMKV、Jetpack DataStore】
背景对于 Android 轻量级存储方案,有大多数人都很熟悉的 SharedPreferences;也有基于 mmap 的高性能组件 MMKV,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强;还有 Jetpack DataStore 是一种数据存储解决方案,允许您使用协议缓冲区存储键值对或类型化对象。DataStore 使用 Kotlin 协程和流程(Flow)以异步、一致的事务方式存储数据。本文将一一分析这三个方案的来龙去脉,并深入源码进行分析。(本文基于Android 29 源码原创 2021-09-18 11:22:03 · 901 阅读 · 0 评论 -
Android 进阶 APP优化 包体积优化
一、谷歌官方对流畅度的解释:Android流畅运行,需要运行60帧/秒, 则需要每帧的处理时间不超过16ms。二、IOS系统比ANDROID系统流畅的原因因为Android系统UI的框架设计的问题。在iOS中UI渲染过程具有绝对的优先等级,当用户接触到iPhone的触摸屏后,iOS中所有的进程都将停止,系统会将所有资源用于渲染UI过程。而在Android系统中UI渲染过程的优先级别却没有那么高,也就是说当你触摸Android手机屏幕的时候,系统后台的程序并没有停止,仍然在继续运行之中,.原创 2020-12-02 15:31:21 · 541 阅读 · 2 评论 -
Android内存优化(使用SparseArray和ArrayMap代替HashMap)
在Android开发时,我们使用的大部分都是Java的api,比如HashMap这个api,使用率非常高,但是对于Android这种对内存非常敏感的移动平台,很多时候使用一些java的api并不能达到更好的性能,相反反而更消耗内存,所以针对Android这种移动平台,也推出了更符合自己的api,比如SparseArray、ArrayMap用来代替HashMap在有些情况下能带来更好的性能提升。介绍...原创 2018-03-18 09:35:59 · 172 阅读 · 0 评论