排序:
默认
按更新时间
按访问量

从源码的角度分析ThreadPoolExecutor实现原理

线程池(ThreadPoolExecutor)的几个状态 RUNNING:Accept new tasks and process queued tasks(可接受新的任务并且执行已经加入队列的任务) SHUTDOWN:Don’t accept new tasks, but process q...

2018-08-21 11:44:29

阅读数:64

评论数:0

数据结构?从HashMap的源码分析开始!

Hash(哈希) 哈希即散列,散列表是为了解决高速存取而设计的,是一种典型的通过空间去换取时间的做法;为啥叫散列?其实我们可以把这个数据接口理解为一个线性的表,但是这个表当中的元素并不是紧密排列的,而是分散的,元素与元素之间可能存在间隙,所以这里就会造成空间上的浪费;散列表是依据Key-Val...

2018-07-17 17:52:50

阅读数:42

评论数:0

TextView实现自定义换行以及缩进文字的格式化对齐

自定义换行 我们通常在自定义控件的时候会遇到不想用系统默认的文字换行,而需要根据自己的需求来实现文字的换行,原理如下: 使用Paint的measureText方法来测量文字的长度 假设设定单行的最大长度为maxWidth,那么就通过measureText来测量每一个字的长度,然后不断的累加再...

2018-07-02 21:36:58

阅读数:167

评论数:0

自定义实现垂直滚动的TextView

需求 当TextView限制最大行数的时候,文本内容超过最大行数可自动实现文本内容向上滚动 随着TextView的文本内容的改变,可自动计算换行并实时的向上滚动 文字向上滚动后可向下滚动回到正确的水平位置 自定义方法 自定义一个View,继承自View,定重写里面的onDraw方法 文...

2018-07-02 20:20:58

阅读数:37

评论数:0

Android中使用Contentprovider导致进程被杀死

使用contentprovider发现的问题 在我们的android设备上有两个app,app1提供了一个contentprovider出去,也就是contentprovider的server端,app2使用了app1提供的contentprovider,也就是contentprovider的...

2018-06-30 17:26:19

阅读数:240

评论数:0

TCP问题分析

TCP问题分析 网络的五层协议 物理层 数据链路层 网络层,IP协议,ICMP协议(ping) 传输层,传输层有两个协议,面向连接的TCP和无连接的UDP,TCP是点对点的可靠连接,保证数据顺序必达,UDP是无连接的,不保证数据顺序必达,UDP的传输效率要比TCP高,但是可能会丢包,而且...

2018-01-12 15:25:28

阅读数:160

评论数:0

JVM内存区域与OOM

说明:本篇博客属于读书笔记,大量参考《深入理解Java虚拟机》这本书 JVM的内存 程序计数器 程序计数器是线程私有的,每一个线程都有自己的一个程序计数器,并且互不干扰,程序计数器相当于当前代码所执行指令的指针,控制了当前线程的执行流程,当Java程序在执行Java方法的时候,程序...

2018-01-12 15:24:33

阅读数:94

评论数:0

Android界面绘制原理

Android的Activity界面从何处开始绘制 Activity启动之后,灰溜溜的会去跑onCreate,onStart,onResume等生命周期方法,那么从framework里面,让我们看看Activity在onResume之前都在干些啥? 在ActivityThread中的hand...

2018-01-12 15:24:09

阅读数:281

评论数:0

Android事件分发原理分析

MotionEvent.ACTION_DOWN传递 在Android中,触碰控件的时候回产生一个ACTION_DOWN事件并逐层向下传递,首先ACTION_DOWN回先从Activity的dispatchTouchEvent方法开始向下传递: public boolean dispatch...

2018-01-12 15:23:39

阅读数:93

评论数:0

Android ANR在线监控原理

Android中的Watchdog 在Android中,Watchdog是用来监测关键服务是否发生了死锁,如果发生了死锁就kill进程,重启SystemServer Android的Watchdog是在SystemServer中进行初始化的,所以Watchdog是运行在SystemServer...

2018-01-12 15:23:19

阅读数:638

评论数:0

Android开发之逻辑单元测试

单元测试的必要性 完整,规范的单元测试有利于提升程序的“自动化”验证 降低后期程序的维护成本 高覆盖率的单元测试在很大程度上能提前发现一些潜在的bug 编写单元测试的过程中可以帮助程序模块化重构,一个耦合性非常高的程序是无法针对他编写完善的单元测试的 private void conn...

2018-01-12 15:22:58

阅读数:97

评论数:0

startActivity的Hook之路

Hook Context.startActivity和Activity.startActivity Context的startActivity其实具体是由ContextImpl去实现的,首先来看下framework的相关源码ContextImpl: @Override publ...

2018-01-12 15:22:31

阅读数:72

评论数:0

BlockCanary源码解析

BlockCanary原理 如何计算主线程的方法执行耗时 计算方法耗时最简单粗暴的就是在方法之前前记录下开始时间,方法执行完后用当前时间剪去方法开始执行的时间就完事了,但是主线程那么多方法总不能每一个方法都这个干吧?那肯定崩!有没有一个统一的地方来实现这个功能?当然有了,不然这篇博客...

2018-01-12 15:21:56

阅读数:70

评论数:0

本人简书博客:http://www.jianshu.com/u/61b0362f5329

简书博客地址:简书博客地址

2017-09-08 23:14:20

阅读数:725

评论数:0

Android Studio的Proguard(代码混淆)

混淆误区 在android studio中AndroidMainifest.xml文件,对于主APP工程和lib工程来说,在生成apk的时候是会自动合并的,这给我造成一个误区让我以为主工程里面配置的混淆和lib工程配置的混淆在生成apk的时候也会自动合并,经过测试发现,混淆配置是不会合并的 如果A...

2017-06-08 13:22:19

阅读数:3146

评论数:0

Battery Historian2.0使用过程中遇到的一些问题

could not parse aggregated battery stats 之前有一篇文章Android5.0系统耗电分析中提到用Battery Historian来分析耗电问题,但是在最近几次用Battery Historian2.0分析的时候点击Submit按钮analyse成功后,进入...

2017-01-09 11:39:24

阅读数:3005

评论数:0

启动Activity前的黑屏

在启动的Activity的onCreate里面做了太多的事情导致初始化activity太慢 onCreate做到精简,如果实在不行那就开异步任务,这样onCreate就不会因为执行太多任务都卡住,可以顺利的回调下面的生命周期,因为activity是在onResume的时候才是可视的 在start下...

2016-12-17 11:43:01

阅读数:1058

评论数:0

Android5.0系统耗电分析

耗电检测环境搭建(Battery Historian2.0) 这里啰嗦一句,Battery Historian1.0已经过时了,而且1.0的分析表格远远没有2.0来的详细,所以推荐用2.0的环境来检测,但是2.0的环境搭建比1.0要稍微复杂一点 go语言环境安装 go语言环境变量配置,这个跟j...

2016-12-09 17:10:57

阅读数:1189

评论数:2

Android APP内存泄漏分析

Activity内部类泄漏 Activity如果存在内部类,无论是匿名内部类,或者是声明的内部类,都有可能造成Activity内存泄漏,因为内部类默认是直接持有这个activity的引用,如果内部类的生命周期比activity的生命周期要长,那么在activity销毁的时候内部类仍然存在并且持有a...

2016-11-05 16:11:12

阅读数:1688

评论数:0

Android开发中的APP内存泄漏检测

使用android shell命令查看内存使用情况使用adb shell dumpsys meminfo pkgname或者直接使用AndroidStudio里面的memory usage功能然后就会出现如下信息:Applications Memory Usage (kB): Uptime: 14...

2016-10-19 21:40:23

阅读数:2127

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭