The manifestViewer tool of Dev Tools Pro is written by Kotlin, it’s so slowly on some devices. I found it’s caused by String.replace after performance[......]
Category Archives: Source Code
Android 三大图片缓存原理、特性对比
LocalBroadcastManager 的实现原理,还是 Binder?
对 LocalBroadcastManager 大家应该都不陌生,相对 BroadcastReceiver,它只能用于应用内通信,安全性更好,同时拥有更高的运行效率。也是需要发送应用内广播时的官方推荐。
大家也都知道BroadcastReceiver的通信是走 Binder 机制的,[......]
Andriod 开源项目源码解析第一期发布
忙了这么久了,终于在昨天对外发布了 Andriod 开源项目源码解析第一期,算是个结束点,更是个起点
感谢参与开源项目第一期所有的成功,包括一部分退出的。具体一期成员信息见 aopa-phase1-member,大家可以多关注他们,他们都很棒!
开源项目源码解析网站:http://www.code......
EventBus 源码解析
之前太忙导致 Android 开源项目实现原理解析 一度搁浅,目前一期进行中,我也完成了 EventBus 分析的初稿,大家可以稍微看看后面会继续润色下。
PS:本文直接复制 Markdown,格式有差异,可直接访问原文 Android 开源项目原理解析之 EventBus
本文为 Andr[......]
HashMap循环遍历方式及其性能对比
主要介绍HashMap的四种循环遍历方式,各种方式的性能测试对比,根据HashMap的源码实现分析性能结果,总结结论。
1. Map的四种遍历方式
下面只是简单介绍各种遍历示例(以HashMap为例),各自优劣会在本文后面进行分析给出结论。
(1) for each[......]
ArrayList和LinkedList的几种循环遍历方式及性能对比分析
主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性能测试对比,根据ArrayList和LinkedList的源码实现分析性能结果,总结结论。
通过本文你可以了解(1)List的五种遍历方式及各自性能 (2)foreach及Iterator的实现 (3)加[......]
Android ListView滑动过程中图片显示重复错位闪烁问题解决
主要分析Android ListView滚动过程中图片显示重复、错乱、闪烁的原因及解决方法,顺带提及ListView的缓存机制。
1、原因分析
ListView item缓存机制:为了使得性能更优,ListView会缓存行item(某行对应的View)。ListView通过adapter的get[......]
ConcurrentHashMap NullPointerException not allow null key and value
本文主要由ConcurrentHashMap的一个NullPointerException异常引起,结合ConcurrentHashMap源码分析为什么ConcurrentHashMap不允许空key和value以及如何改造进行支持。
1、异常分析
今天碰到一个异常,信息如下:
[cray[......]
TextView添加链接
本文主要介绍TextView添加链接的几种可行及不可行方式,并且分析为什么不可行。
Demo APK 可以方便的查看效果,在各大应用商店搜索 trinea android 下载即可,如:Google Play。
效果图如下:
一、可行方式
[crayo[......]
google play安装后打开Fc或点击下载时Crash
本文主要介绍google play fc, java.lang.SecurityException: Invalid value for is_public_api: null异常的解决方法及具体原因。
Android下载管理DownloadManager功能扩展和bug修改
本文主要介绍如何修改Android系统下载管理,以支持更多的功能及部分bug修改和如何编译生效。目前内容包括暂停下载、继续下载、通知设置NotiExtra和NotiClass、wifi切换到3g自动暂停、Bug修改。
更多下载相关开源项目可见 Android 下载。
[......]
Android系统下载管理DownloadManager功能介绍及使用示例
本文主要结合源码介绍Android系统下载管理DownloadManager的强大功能及使用。
这是许久来准备写的一系列博客,这篇主要介绍DownloadManager的功能和示例,后面还有两篇会介绍下载管理的底层设计(DownloadProvider、DownloadManager、Downlo[......]
多个ViewPager引发的Fragment未初始化
本文主要介绍ViewPager FragmentPagerAdapter中Fragment缓存的规则。
可能需要在一个Activity中显示多个ViewPager,如GridView或ListView中以ViewPager做Item。
在Fragment的onCreate[......]