- 博客(3)
- 收藏
- 关注
原创 深入分析ArrayMap
前面我们分析了Android为了节省内存提供的一个HahMap的替代品SparseArray。SparseArray只能替代key的类型为int的Map。Android也提供了一个key不用局限于int的Map的实现,ArrayMap。老规矩我们通过调试来深入的分析一下ArrayMap(看本文章需要知道SparseArray的原理,可以参考我前面写的深入分析SparseArray文章)。And
2016-12-18 17:21:29
724
原创 求一个int数是否是4的幂
在LeetCode上看到一篇关于求一个int数是否是4的幂的算法,觉得十分巧妙,觉得有必要记一下。我们来看看二进制对应位上的十进制是多大: 1 1 1 1 1 1 1 12^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0二进制每一位上
2016-12-18 11:50:08
452
原创 深入分析SparseArray
曾几何时在写Android项目代码时,使用HashMap时IDE会给个建议推荐使用更加节省内存的SparseArray类,网上很多文章关于SparseArray的解释都提到了通过压缩去掉没用的数据的稀疏矩阵来节省空间。我很好奇这样怎么能通过key找到它对应的value呢。最近决定通过调试的方式来分析一下它的工作原理。打开SparseArray的源码发现他有两个数组类型的成员变量,通过名
2016-12-14 20:01:01
457
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人