- 博客(8)
- 资源 (3)
- 收藏
- 关注
原创 LeakCanary 原理分析
LeakCanary 原理分析 LeakCanary的初始化 LeakCanary2.3的引入: debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.3' 2.3版本无需在Application中做额外操作。 深入了解一下具体是如何初始化的,我的是2.3版本的,2.0以下版本应该和这个不一样: https://github.com/square/leakcanary/blob/main/leakcanary-objec
2020-09-20 10:53:16 216
原创 EventBus的一些分析
EventBus 使用 implementation 'org.greenrobot:eventbus:3.1.1' 在接收消息的地方注册该类: EventBus.getDefault().register(this); 定义发送事件的类:相当于要发送的消息内容 @Subscribe(threadMode = ThreadMode.MAIN) public void onEventLoginBindState(final LoginBindStateEvent event)
2020-09-20 10:51:32 143
原创 Android 桌面应用启动APP的流程
桌面应用启动APP的流程 一:概图 具体代码分析 zygote进程fork一个进程后调用ActivityThread的systemMain方法,也就是上图中的步骤3: ActivityThread 相关代码,systemMain是app真正的入口方法: public static ActivityThread systemMain() { // The system process on low-memory devices do not get to use hardware
2020-09-20 10:48:23 690
原创 排序专项训练
排序专项训练 排序算法概括: 排序算法: 算发复杂度: 冒泡 /*** * 冒泡排序 时间复杂度o(n的平方) 空间复杂度 * @param num * @return */ public int[] bubbleSort(int[] num) { if (num == null || num.length < 2) { return num; } int length
2020-09-20 10:45:11 198
原创 查询算法
查询算法 顺序查询 顺序查询可以是有序也可以是无序 二分查询 二分查询必须是有序 /*** *时间复杂度最好o(logn),最差o(log(n+1)) * 空间复杂度 o(1) * @return */ public int binearySearch(int[] num, int val) { int low = 0; int hight = num.length - 1; while (low &l
2020-09-20 10:42:50 122
原创 kotlin - Coroutine 协程
#kotlin - Coroutine 协程 协程的创建 kotlin 里没有 new ,自然也不像 JAVA 一样 new Thread,另外 kotlin 里面提供了大量的高阶函数,所以不难猜出协程这里 kotlin 也是有提供专用函数的。kotlin 中 GlobalScope 类提供了几个携程构造函数: 1.launch - 创建协程 2.async - 创建带返回值的协程,返回的是 Deferred 类 3.withContext - 不创建新的协程,在指定协程上运行代码块 4.runBlocki
2020-09-20 10:39:33 137
原创 kotlin的基础知识
kotlin kotlin变量声明 val 与var val 定义不可更改的属性 类似于Java的final修饰过的字段 var 定义可变的的属性 完整的定义: var <propertyName>[: <PropertyType>] [= <property_initializer>] [<getter>] [<setter>] var vertexCount: Int set(value) { vertexCount
2020-09-20 10:38:26 422
原创 内部类隐式持有外部类
内部类隐式持有外部类 源码 package com.example.testdemo; public class OutClass { int out =2; public class InnerClass{ int in=1; } } 编译成.class文件,有两个文件 内部类InnerClass // // Source code recreated from a .class file by IntelliJ IDEA // (powered by F
2020-09-20 10:35:21 209
Android多线程下载断点续传
2016-05-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人