摘要:
最近一个多月面试过一下公司(均为实习): 腾讯:内推一面卒。正式校招拿到offer 阿里:内推二面卒。 蘑菇街:面完三面技术面,等待HR面 网易:拿到offer。 可以看到,大部分问题不难,但是能回答对和回答的好不好又是两个两个不同的情况了。任何问题都尽量回答的越详细,越清晰,越全... 阅读全文
摘要:
activity的启动流程 加载一个Activity肯定不会像加载一般的类那样,因为activity作为系统的组件有自己的生命周期,有系统的很多回调控制,所以自定义一个DexClassLoader类加载器来加载插件中的Activity肯定是不可以的。 首先不得不了解一下activity的启动流程... 阅读全文
摘要:
动态加载资源原理 通常我们调用getResources()方法获取资源文件 public Resources getResources() { return mResources;}mResources是在创建ContextImp对象后的init方法里面创建的 mResources... 阅读全文
摘要:
Java中也有类加载器ClassLoader,其作用是动态装载Class文件,当我们从网络下载Class文件,或者在编译时不参与而在运行时动态调用时就需要用类加载器。由于Android对class文件进行了重新打包和优化,最终APK文件中包含的是dex文件,加载这种文件就需要用到DexClass... 阅读全文
摘要:
几个问题 接着上一篇的内容,本片博客讨论几个问题 1.跨进程传递IBinder对象的情形 2.跨进程回调 3.分析Toast的显示过程:跨进程回调的例子 跨进程传递IBinder对象的情形 会不会觉得传递IBinder有点奇怪呀?Binder机制不是用来做进程间通信的吗,那传递IBinder是为... 阅读全文
摘要:
Binder算是Android中比较难懂的一部分内容了,但是非常的重要,要想研究Framework层无论如何也绕不开Binder。网上也有很多讲解Binder的文章,有的很深入涉及到底层C层面,理解起来难度较大,要完全理解还需要Linux驱动的知识,看了还也是似懂非懂,我认为也不需要理解那么深入... 阅读全文
摘要:
前面研究了LruCache,它作为现在用的最多的内存缓存方案已经在很多开源缓存框架中使用,同样的还有硬盘缓存方案也就是DiskLruCache,通常的做法就是使用内存和硬盘二级缓存。 使用方法 1.存储: DiskLruCache diskLruCache= open(File directo... 阅读全文
摘要:
android的图片加载库Android-Universal-Image-Loader中的缓存策略,内存缓存LruCache,是一个最近最少使用算法LRU。前几天看操作系统也看到了LRU算法,是用在缺页中断发生时,进行置换算法才用的一种。缓存中的LruCache和操作系统中的页置换算法思想是一样... 阅读全文
摘要:
昨天晚上出去和几个朋友交流了一下,聊了很多,思考了一下这一年学习技术的经历,趁着在宿舍养病,将自己的想法记录了下来。 总结过去与思考 从开始决定当码农到现在将近两年零三个月,起初是因为自己专业的科研不是自己想象中的那样,加之对程序员的羡慕和崇拜,于是就走上了码农的不归路。作为非科班出身的学生,和... 阅读全文
摘要:
看了一周深入理解java虚拟机了,今天看到第六章,最近一直处在接受新知识的快感之中,不由得感慨基础知识的重要性,学起来相当过瘾!类文件结构这部分实践性较强,对于分析java代码有很重要的帮组,于是有做点笔记的必要了,在参考书的基础上,将一段代码的字节码完全解析了一遍。 class文件的结构如下 ... 阅读全文