BATJ30道经典常见Android 高级面试题及答案( 七 )
HTC M7实测 , 192M上限 。 512M 一般情况下 , 192M就是上限 , 但是由于某些特殊情况 , android允许使用一个更大的RAM 。
如何避免OOM
减少内存对象的占用
I.ArrayMap/SparseArray代替hashmap
II.避免在android里面使用Enum
III.减少bitmap的内存占用
-
inSampleSize:缩放比例 , 在把图片载入内存之前 , 我们需要先计算出一个合适的缩放比例 , 避免不必要的大图载入 。
-
decode format:解码格式 , 选择ARGB_8888/RBG_565/ARGB_4444/ALPHA_8 , 存在很大差异 。
IV.减少资源图片的大小 , 过大的图片可以考虑分段加载
内存对象的重复利用
大多数对象的复用 , 都是利用对象池的技术 。
I.listview/gridview/recycleview contentview的复用
推荐阅读
- 孙尚香|孙尚香异界灵契皮肤上线,而玩好他需要解决5大常见操作问题
- 仙剑2|经典游戏《仙剑2》苏媚的梦蛇才是最大BUG,效果叠加一招带走千叶
- 魔兽世界|魔兽世界:“时空漫游”将改版,增加野外内容,回归经典
- 复古传奇|复古传奇1.85版本还原经典 人气火爆 超高爆率 等你来战!
- |大话2经典版:这两位神壕可以说是游戏里暴力美学“典范”的存在了!
- 射击游戏|可能被你忽略了,这十款才是最经典的第三人称射击游戏
- 魔兽世界|魔兽世界各个种族NPC经典台词有哪些
- 吃鸡游戏|LOL手游:世界赛经典重现!“复仇之战”圆RNG的S7鸟巢遗憾
- 手机游戏|冰雪传世群英版手游:经典三职业元神可以免费获取?
- 明日之后|热血传奇:最常见的三大PK原因,快来看看有没有你当年PK的原因