本来想写一下APP 从GPU侧性能优化的,图片懒得搞。就随便写下更简单图形栈内存吧。
Android APP 内存有一部分是graphic这块消耗,skia这边对APP使用的字体字形缓存,GPU资源缓存等。
这个就是在性能和内存之间取平衡。高性能,就缓存多些。要内存就回收狠些。最狠的时候直接把context给回收。
skia对APP在前台和后台内存阈值也有区分。退后台后阈值减少50%。 鸿蒙继续通过prop可以动态调整,默认值再少10%。
cache的 算法 采用 lru,这一块的话是可以考虑有其他的优化方案相结合的。比如除了考虑使用顺序,还要考虑使用时间,还要考虑缓存大小。比如数据已经很久没有访问了,即使缓存阈值还有余量,也是可以考虑清理掉的。
不同APP对内存回收的要求其实不一样。但是skia系统默认值都一样。这块是有客制化空间的。对典型APP,这块可以增加一部分定制。 |