读书笔记


进程间通讯binder机制:http://weishu.me/2016/01/12/binder-index-for-newer/
http://gold.xitu.io/entry/56f20004da2f60004cbec972

AIDL:http://bbs.51cto.com/thread-1086040-1.html
http://www.jianshu.com/p/d1fac6ccee98


hashmap解决冲突:http://yikun.github.io/2015/04/01/Java-HashMap%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86%E5%8F%8A%E5%AE%9E%E7%8E%B0/
jvm内存模型:http://gityuan.com/2016/01/09/java-memory/
线程间通信handler源码分析http://blog.csdn.net/iispring/article/details/47115879
http://blog.csdn.net/iispring/article/details/47180325

activity生命周期相关问题:
横竖屏切换:http://www.bozhiyue.com/anroid/wenzhang/2016/0810/356734.html
跳转http://www.cnblogs.com/smyhvae/p/3863720.html
service生命周期http://xesam.github.io/android/2016/03/20/Android-Service%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F%E5%9B%9E%E9%A1%BE.html
mvp,mvc架构http://gold.xitu.io/entry/56ebb4ad5bbb50004c440972

三级缓存:[三级缓存](http://www.jianshu.com/p/2cd59a79ed4a)
http://lmh19941113.github.io/2015/12/06/three-cache/先从内存加载,如果内存没有再从本地加载,如果本地有的话,记得缓存到内存,如果本地也没有,再进行网络请求,网络请求之后缓存到内存,缓存到本地。
注:内存缓存可以通过HashMap<String, SoftReference<Bitmap>>保存图片,更好的可以通过LruCache<String,Bitmap>least recentlly use 最少最近使用算法,会将内存控制在一定的大小内, 超出最大值时会自动回收, 这个最大值开发者自己定。

android常用加密算法:
http://www.2cto.com/kf/201604/500828.html
http://blog.csdn.net/u012874222/article/details/51059681
AES加密速度很快,但是在网络传输过程中如何安全管理AES密钥是保证AES加密安全的重要环节。这样在传送机密信息的双方,如果使用AES对称密码体制对传输数据加密,同时使用RSA不对称密码体制来传送AES的密钥,就可以综合发挥AES和RSA的优点同时避免它们缺点来实现一种新的数据加密方案。
(MD5不可逆的,但是山大王小云给破解了;AES对称加密,使用共享密钥进行加密解密;RSA非对称加密,加密流程见文章1)

android热修复
https://mp.weixin.qq.com/s?__biz=MzI1MTA1MzM2Nw==&mid=400118620&idx=1&sn=b4fdd5055731290eef12ad0d17f39d4a&scene=1&srcid=1106Imu9ZgwybID13e7y2nEi#wechat_redirect

android分包原理65536

MVP,MVC
http://gold.xitu.io/entry/56ebb4ad5bbb50004c440972

Android数据存储:
https://github.com/Tikitoo/blog/issues/9
相同点:
getWritableDatabase()和getReadableDatabase()方法都可以获取一个用于操作数据库的SQLiteDatabase实例。
不同点:
getReadableDatabase()并不是以只读方式打开数据库,而是先执行getWritableDatabase(),以读写方式打开数据库。如果存放数据库的磁盘空间满了,就会打开失败,但不会报错,它会继续尝试调用它本身的getReadableDatabase()方法,以只读方式打开数据库。
getWritableDatabase()方法直接以读写方式打开数据库,一旦数据库的磁盘空间满了,getWritableDatabase()打开数据库就会报错

在Android4.0之前,Bitmap的内存是分配在Native堆中,调用recycle()可以立即释放Native内存。
从Android4.0开始,Bitmap的内存就是分配在dalvik堆中,即JAVA堆中的,调用recycle()并不能立即释放Native内存。但是调用recycle()也是一个良好的习惯。

java深复制与浅复制:http://www.jianshu.com/p/65848eaddb2e
浅复制:对于对象的基本数据类型的属性,拷贝的是值拷贝,***而对于引用数据类型的属性,拷贝的其引用。***
深复制:对于对象的基本数据类型的属性,拷贝的是值拷贝,而对于引用数据类型的属性,***拷贝是生成另一个对象而不是对引用的拷贝。***
clone默认是浅拷贝,要实现深拷贝必须重写clone()方法!!!

异常:http://blog.csdn.net/huhui_cs/article/details/38817791
常见的运行时异常:
ArrayStoreException                试图将错误类型的对象存储到一个对象数组时抛出的异常
ClassCastException                试图将对象强制转换为不是实例的子类时,抛出该异常
IllegalArgumentException         抛出的异常表明向方法传递了一个不合法或不正确的参数
IndexOutOfBoundsException   指示某排序索引(例如对数组、字符串或向量的排序)超出范围时抛出
NoSuchElementException       表明枚举中没有更多的元素
NullPointerException                当应用程序试图在需要对象的地方使用 null 时,抛出该异常
除数为零时产生的ArithmeticException异常


检查异常:CloneNotSupportedException

HashMap详解:http://yikun.github.io/2015/04/01/Java-HashMap%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86%E5%8F%8A%E5%AE%9E%E7%8E%B0/
http://hovertree.com/h/bjaf/2jdr60li.htm

okHttp详解:http://gold.xitu.io/entry/5728441d128fe1006058b6b9

andoridDebug:
http://blog.csdn.net/dd864140130/article/details/51560664


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值