- 博客(31)
- 收藏
- 关注
原创 Android类加载器源码简析
本文主要介绍Android类加载器:ClassLoader,BootClassLoader,BaseDexClassLoader,PathClassLoader和DexClassLoader。
2017-08-08 23:26:17 791
原创 Android插件分析和实践系列
这个系列的文章主要记录分析插件所使用到一些基础技术点,动态加载资源的原理和实践过程,使用代理启动Activity原理和实践。
2017-08-08 23:22:57 338
原创 Android源码编译和调试
本文记录使用Mac编译Android 6.0源码,利用编译的rom启动模拟器,将源码导入Android Studio和配置工程,以及debug源码的过程。做个笔记,以备忘记之后查阅。使用的系统为10.12,Xcode版本为7.2,CPU为双核,内存为8G。
2017-07-23 22:35:50 1381
原创 Activity之应用进程创建流程简析
本文从四个步骤来分析应用进程创建。第一步:Zygote创建,建立ServerSocket等待连接和处理连接。第二步:startActvity将创建信息传递到ActivityMangerService,AMS启动进程创建。第三步:Process向ServerSocket写创建进程的参数信息。第四步:ZygoteConnection获取信息fork进程和初始化,ActivityThread和Application创建。
2017-07-20 23:02:40 563
原创 推荐博客和网站
推荐一些写的比较深入和系统的博客,以及文章涉及面比较全面的网站。最后推荐微信公众号腾讯Bugly(工作人士强烈推荐,许多文章都与实际开发相关,不是纸上谈兵)和工具网站。
2017-07-17 13:13:47 685 1
原创 ThreadLocal源码简析
ThreadLocal是用来为当前线程提供存储和获取变量的操作,被操作的变量存储在当前线程的threadLocals中。这些变量不能被其它线程所使用,只能被当前线程所独享,所以ThreadLocal不是用来提供多线程共享操作的类。下文将通过类和源码来分析ThreadLocal如何存储和获取线程独享的变量,以及ThreadLocal内存泄漏的原因。
2017-07-14 22:01:09 398
原创 Java之4种引用简析
Java语言,引用分为4种类型:强引用,软引用,弱引用和虚引用。强引用为直接引用。除强引用外,其它3种引用都需要通过各自的包装类来实现,并通过get()方法获取。下文将通过类图,类的代码和测试用例这三个步骤来分析和验证这四种引用。
2017-07-14 14:36:26 500
原创 Dialog显示和消失流程分析
本文从Dialog的创建,隐藏,显示和移除步骤来分析相关的代码流程。最后补充了几个常见的异常分析。这些异常为WindowLeaked,IllegalArgumentException和BadTokenException。
2017-07-12 19:39:45 2798
原创 Activity touch事件传递流程分析
本文通过dubug获取当前Activity运行的帧栈信息,从栈中被调用的类和方法来一步步分析屏幕上的touch事件是如何传递到当前触摸的View。touch事件传递经过主要的类有ViewRootImpl,DecorView,Activity,View和ViewGroup。
2017-07-11 12:48:31 1188
原创 java集合简要分析
本文分析了Map的实现类:HashMap,Hashtable,LinkedHashMap和Android中特有的ArrayMap和SparseArray。以及分析Set的子类HashSet和TreeSet,List的子类ArrayList和LinkedList的数据存储方式和特点。
2017-07-10 12:37:00 407
原创 Activity启动模式详解
理解Android Activity启动模式:standard, singleTop, singleTask and singleInstance
2017-07-08 20:08:30 240
原创 LocalBroadcastManager详解
LocalBroadcastManager代码分析,注册Receiver ,以及发送和接收广播流程分析。本地广播与普通广播比较,以及与EventBus设计架构比较。
2017-07-07 17:56:32 1182
原创 使用WebView.load(data,"text/html", "utf-8")加载显示乱码问题分析
使用WebView的load(data,”text/html”, “utf-8”)加载含有中文的网页示为乱码问题,跟踪源码,分析原因和解决方法
2017-04-17 21:21:36 38836
原创 Fragment之添加显示流程源码分析
本文主要讲解Fragment,FragmetManger,FragmentTransaction和FragmentActivity在添加Fragment是如何互动,最终成功让Fragment显示在页面的整个流程。
2017-04-09 16:57:42 1771
原创 自定义DialogFragment异常问题分析和解决笔记
自定义DialogFragment重复显示和重复添加导致异常问题分析和解决方法,以及dismiss时偶然抛出IllegalArgumentException原因分析和问题解决方案。
2017-04-08 01:06:01 4095
原创 Activity启动流程分析
本文将从Activity,Instrumentation,ActivityManagerService,ActivityStackSupervisor,ActivityStack,ApplicationThread,ActivityThread这几个主要的类的交互流程来分析点击桌面图标启动Activity的过程。
2017-04-05 22:01:42 331
原创 Activity中使用Fragment笔记
Activity中使用Fragment,如何避免Activity恢复时Fragment叠加问题。ViewPager中选择合适的Adapter,打造高效流畅Fragment列表。Fragment数据延时加载,保存和恢复,打造流畅高效的列表。
2017-04-04 00:32:46 5018
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人