My apps:
🌱 Working on
blog
My apps:
🌱 Working on
https://fuckcode.xyz/2018/04/25/LeakCanary%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90.html
LeakCanary是square公司发布的一款检测Activity内存泄漏的工具。项目地址
https://fuckcode.xyz/about/experience.html
个人经历2014下半年渣本错过校招,开启实习。2014.12接触开源,认识Trinea(https://github.com/Trinea)和一群小伙伴,开始分析开源库之路。2015.01分析开源文章上线 codekk2015.03来到深圳,朋友内推一家社交创业公司,主要负责基础功能的开发,后期负责聊天和朋友圈的维护和优化。期间从同事那边学习到很多,包括App的基础架构,一些开源库的封装,调试工具
https://fuckcode.xyz/2019/02/23/Gradle%E6%8F%92%E4%BB%B6%E5%AE%9E%E7%8E%B0%E6%8F%92%E6%A1%A9.html
最近在做App启动优化和卡顿优化的时候涉及到统计方法耗时,使用插桩的方式能够比较方便的解决使用代码硬编码的工作量。函数插桩还可以实现其他的功能,如无埋点统计上报、轻量级AOP等。
https://fuckcode.xyz/2016/02/24/HashMap%E8%A7%A3%E6%9E%90.html
在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,HashMap也不例外。HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。
Github: Caij WeChat: KB2345 WeiBo: Ca1j Email: [email protected] Now: 腾讯 Android Developer More: 个人经历 简历
之前分析过Activity的启动流程,虽然Activity启动了,但是显示在界面上的并不是Activity,接下来将分析Activity显示到界面的流程。
https://fuckcode.xyz/2019/02/27/App%E4%BD%93%E7%A7%AF%E4%BC%98%E5%8C%96.html
随着Android移动开发的需求越来越复杂,我们不可避免的遇到发布出去的apk体积越来越大的问题,目前超过10MB、20MB的apk已经是很常见的事情了,但是依然能够看到一些apk的体积控制的很小。
https://fuckcode.xyz/2015/08/20/Touch%E4%BA%8B%E4%BB%B6%E5%88%86%E5%8F%91.html
之前分析了界面显示流程,显示以后,界面将接收用户操作事件,本文将分析Touch事件分发机制。
https://fuckcode.xyz/2019/12/25/App%20Bundle%E9%A2%84%E7%A0%94.html
1 介绍Google引入新Android App Bundle应用文件格式。这种文件包括所有的应用程序的编译代码和资源,Google Play 根据用户的手机信息生成所需资源和SO的APK,用户只需要下载运行应用所需的资源。而且Android App Bundle提供功能动态加载的功能(类似插件化的概念),开发者可用将不重要或者独立的功能在用户需要的时候加载。
https://fuckcode.xyz/2016/02/24/LinkedHashMap%E8%A7%A3%E6%9E%90.html
之前分析过HashMap的源码,LinkedHashMap是继承自HashMap,将HashMap中的数据增加了一种链表结构。大部分方法是相同的,流程也一样,不同是createEntry和transfer方法,还有Entry的数据结构。Entry在之前的基础上添加了before和after。
https://fuckcode.xyz/2016/04/06/synchronized%E5%92%8CLock%E8%A7%A3%E6%9E%90.html
Java中提供了synchronized和lock两种锁机制保证线程安全。
https://fuckcode.xyz/2017/09/13/VA%E5%8A%A0%E8%BD%BD%E6%8F%92%E4%BB%B6%E8%B5%84%E6%BA%90.html
解决插件资源生效问题,首先需要看看系统创建资源
https://fuckcode.xyz/2014/12/26/Handler%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90.html
1 介绍Handler在Android中起到至关重要的作用,系统本就是通过Handler的消息来驱动的,另外一个就是在Android系统中,只有主线程才能修改UI,而且存在ANR机制,所以耗时操作需要在子线程中运行,保证程序的流畅性,因此子线程中获取的数据传递给主线程更新UI,而线程通讯就是通过Handler来处理的。
VirtualAPK(下面简称VA)是滴滴开源的插件化项目,这里有VirtualAPK的详细介绍。插件化方面也一直没有大公司开源, DroidPlugin虽然功能强大,但是hook的东西比较多,而且宿主和插件互相独立,和平时的业务需求有较多差异。VirtualAPK介绍中也有几个开源库之前的简单对比。
https://fuckcode.xyz/2016/03/23/ConcurrentHashMap%E8%A7%A3%E6%9E%90.html
ConcurrentHashMap是线程安全的HashMap,比HashTable的效率高,采用分块加锁机制。
https://fuckcode.xyz/2019/02/27/App%E5%90%AF%E5%8A%A8%E4%BC%98%E5%8C%96.html
最近在做App启动优化,参考了一些文章,刚好也看了张绍文的Android开发高手课,就最近做的一些事做一个总结输出。
https://fuckcode.xyz/2015/08/22/View%E7%BB%98%E5%88%B6%E6%B5%81%E7%A8%8B.html
在Activity显示到界面流程的最后一步ViewRoot.setView中有个requestLayout方法,这个方法其实就是请求绘制view。
https://fuckcode.xyz/2019/10/07/Android%E5%8D%87%E7%BA%A764%E9%81%87%E5%88%B0%E7%9A%84%E5%9D%91.html
Android升级64是今年Google强制执行的一项规定,国内应用市场也应该快实施了,所以升级64位是必须执行的。其实Android中升级64位主要是SO升级。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.