- 博客(17)
- 资源 (6)
- 收藏
- 关注
原创 Android事件分发学习
Android事件分发学习需要搞懂的疑问当按住一个view后滑动出这个view,为什么这个view还能继续处理触摸事件触摸事件是如何传递给Activity,才继续进行Activity->Window->View的分发的事件分发递归调用的流程整理
2017-03-30 19:17:20
357
原创 java动态生成源文件和字节码方式
ASM:ASM 是一个 Java 字节码操控框架。它能够以二进制形式修改已有类或者动态生成类。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。ASM 从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。Javassit:Javassist是一个开源的分析、编辑和创建Java字节码的类库。是由东
2016-08-14 11:21:58
2169
原创 OkHttp3源码学习简要
1.OkHttpClient、Request、Headers 类都采用Builder模式: 内部Builder类和本类有相通的属性 内部Builder类有public构造方法,构造方法会对属性进行初始化(默认值赋值,属性对象创建) 内部Builder类对属性都提供public的set方法,用于赋值或修改
2016-08-02 23:46:22
613
原创 Android热修复学习(三)
本来准备在后续的文章中,陆续写下自己对现有的热修复框架(主要为Qzone团队方案和阿里的AndFix)原理的理解,以方便自己日后查看,不过今天看到新的文章微信Android热补丁实践演进之路,感觉微信团队的技术真是强大,研究的很深入透彻。
2016-06-26 12:25:48
1986
1
原创 Android热修复学习(二)
Multidex在上一篇一中,我们知道应用加载class会用到PathClassLoader,最终会调用DexPathList的findClass()方法,通过轮询Element数组用DexFile来加载类。而每个Element又对应一个dex单元(文件),所以我们可以改变这个数组的大小和顺序做一些动态功能。前面我们看到这个数组的初始化是通过调用DexPathList的makeDexEleme
2016-06-23 12:16:07
1419
1
原创 Android热修复学习(一)
Classloader基础Classloader的简单定义: 通过类的全限定名来获取描述此类的二进制字节流,负责读取 Java 字节代码,并转换成 java.lang.Class 类的一个实例。每个类加载器都有一个父类加载器(包含的关系),顶级类加载器(native)除外。独立的类名称空间 能够结合java类本身来确定该类在Java虚拟机中的唯一性。用通俗的话来说就是:比较两个类是否相等,只有
2016-06-22 16:55:50
9637
1
转载 Android的drawText()参数详解
查找了好几个小时才终于搞明白,因为参考的博客不在CSDN,所以复制一份,呵呵,原文链接如下:http://www.xyczero.com/blog/article/20/Android的canvas上可以画很多基本形状,诸如:圆,矩形,线条等等,其中当属文字即drawText()较难理解和使用(额,这只是就个人感受),下面将慢慢介绍下如何简单使用drawText()。F
2015-08-30 17:57:35
5902
原创 Android Handler消息处理机制小记
因为老是容易忘记细节点,提取关键知识点,小记下,以方便以后温故。消息分发对象和消息队列初始化:Looper 是在Looper.prepare()中往当前线程的ThreadLocal中添加一个Looper对象,Looper对象在实例化的时候,会给自己实例化一个MessageQueue的事例作为成员变量。消息发送和处理对象初始化:Handler创建的时候,会调用Lo
2015-02-08 21:31:15
569
原创 Android判断获取内置外置sd卡
项目有下载任务,需求可以选择下载路径到内置存储还是外置sd卡,网上查了很多内容,大致有:1.注册sd卡插拔广播,在广播中调用intent.getData().getPath()
2014-03-13 17:30:20
4002
2
原创 老罗源码分析学习之app安装简记
由PackageManagerService完成1.读上次系统安装的应用userId和sharedUserId2.遍历五个apk目录,读取apk应用信息并且保存起来,中间要根据之前读取的userId和sharedUserId来判断是否要分配新的userId3.根据第二步读取的应用程序信息里的权限,遍历授权,中间如果是系统权限要判断签名4.安装完毕,将新的应用信息package和分配
2013-07-22 11:42:08
1058
1
原创 android小知识
打印日志过长,显示不全 int maxLogSize = 1000; for(int i = 0; i <= content.length() / maxLogSize; i++) { int start = i * maxLogSize; int end = (i+1) * maxLogSize;
2013-03-28 15:36:59
545
原创 android项目知识点
图片上添加文字/** * 在指定图片上指定位置添加文字 * * @param context * @param id * @param text * @return */ public static Drawable addTextOnDrawable(Context context, int id
2013-03-27 11:42:16
973
原创 android EditText自定义软键盘光标问题
大致了解android里自定义键盘的实现方法有:popupWindow弹出框、android.inputmethodservice.KeyboardView 系统api、 用Framelayout和RelativeLayout来做叠加层动态显示隐藏。最开始以为光标不显示的问题和自定义键盘的实现方式有关,以为是不在一个层当焦点落在上一个层的时候,下面的EditText自然没有焦点所以才没光标显示。后
2013-03-26 12:01:11
3372
7
转载 Tomcat部署方法整理
在本机安装一个Tomcat服务后,部署web应用经常需要做以下几件事:1)复制web应用文件到web应用文件夹;2)配置Tomcat部署文件;3)修改Tomcat发布端口。 复制web应用文件到web应用文件夹 将web应用文件复制到$CATALINA_BASE\webapps目录。 配置Tomcat部署文件
2013-03-26 10:05:33
646
转载 Android利用tcpdump抓包
adb root adb remount adb push /wherever/you/put/tcpdump /system/xbin/tcpdump adb shell chmod 6755 /system/xbin/tcpdumpadb shell tcpdump -p -vv -s 0 -w /sdcard/capture.pcap你
2013-03-26 09:39:09
815
转载 系统应用分析地址
android的手机任务管理器,关键功能实现方法总结:http://blog.csdn.net/csqyhmnc/article/details/6526463应用程序获得系统权限:http://blog.csdn.net/liujian885/article/details/5404834http://www.eoeandroid.com/thread-46074
2013-03-25 17:57:32
633
Android Classloader测试demo
2016-06-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人