1.背景和意义 先后经历过多个Android开发团队,每个团队都有这样的一个人。他能在gradle中配置一些代码。导致最终的apk 根据品牌+渠道 命名。甚至还能根据不同品牌...
1.背景和意义 先后经历过多个Android开发团队,每个团队都有这样的一个人。他能在gradle中配置一些代码。导致最终的apk 根据品牌+渠道 命名。甚至还能根据不同品牌...
遇到公钥尚未安装的情况或者报错运行 :yum install -y mysql-community-server --nogpgcheck
CentOS7 安装MySQLyum方式安装 将MySQL添加到yum的repo库中 安装MySQL 启动MySQL 查看MySQL运行状态 由于MySQL5.7之后首次登陆MySQL都是需要使用密码的,...
@一只好奇的茂 三年了,该完善了
AOP:APT,AspectJ,Javassist/Asm区别: apt APT(Annotation Processing Tool 的简称),可以在代码编译期解析注解,并且生成新的 Java 文件,减少手动的代码输入。 图示 执...
不知道你得出答案没,不管你得出没得出,我通过源码分下了一下,基本是得出了一个结论,Fragment的实例化是在Activity里面的,所以Fragment必然是挂在Activity上的,这个很好理解,主要是Activity,通过我对源码的分析可以看出,Activity追根溯源是由ClassLoader实例化的,Activity的引用其实是放在ClassLoader的一个map集合里,而Activity被实例化之后的前后台管理是由Activity的栈进行管理的(调度是AMS的事),当Activity出栈之后,ClassLoader也就同时丢弃了对当前Activity的引用,但是按照作者所说,类加载器(插件化自定义的类加载器除外)加载的类可以成为gcroot,那也就是说Activity本身就是一个gcroot,但是这个gcroot其实还可以往上找,那就是Classloader,如果classloader主动丢弃Activity的引用,那下次gc的时候,应该就会被回收了。
GCRoot用于记录学习 一、可达性分析算法:通过一系列的名为“GC Root”的对象作为起点,从这些节点向下搜索,搜索所走过的路径称为引用链(Reference Chain),当一个对...
写在前面 当在10亿数据进行不到30次比较就能查找到目标时,不禁感叹编程之魅力!人类之伟大呀! —— 学红黑树有感。 终于,在学习了几天的红黑树相关的知识后,我想把我所学所想...
概述 本篇文章会从源码(基于Android 6.0)角度分析Android中View的绘制流程,侧重于对整体流程的分析,对一些难以理解的点加以重点阐述,目的是把View绘制的...
binder学习指南http://weishu.me/2016/01/12/binder-index-for-newer/[http://weishu.me/2016/01/...
最近有很多小伙伴更新系统后,提示“已损坏无法打开”的情况,按照以往的方法,在系统的“安全与隐私”中已经允许了“任何来源”,但还是一样打不开,怎么办呢? App 在 macOS...
最近在阅读《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)》 参照图书,在自己的Mac上进行OpenJDK12的编译. 环境准备 MAC参数 xcode 记得安装...
1、ASM概述 ASM是一个功能比较齐全的java字节码操作与分析框架,通过ASM框架,我们可以动态的生成类或者增强已有类的功能。 ASM可以直接生成二进制.class文件,...
简介 ClassVisitor是用来生成asm和改变字节码的,ClassVisitor是一个访问字节码的框架,其对字节码的创建和修改主要是通过其内部的ClassVisitor...
基础认识 mars 是微信官方的终端基础组件 C++ 编写(为了兼容多平台) 业务性无关,平台性无关的基础组件 支持接入 Android 或者 iOS/OS X 或者 Win...