算法 – 回溯
如何尝试走迷宫呢?遇到障碍物就从头 “回溯” 继续探索,这就是回溯算法的形象解释...
线程池的原理分析
线程使用上的问题
new Thread().start();
线程的频繁创建和销毁
线程的数...
JNI 编程上手指南之描述符
1. 类描述符
在 JNI 的 Native 方法中,我们要使用 Java 中的对象怎么办?即在...
慕课网-程序员的梦工厂
慕课网
应用测速组件
统计应用冷启动时长、页面渲染时长是APM系统不可缺少一个功能。Rabbit中这个功能...
已测试自定义View:Measure过程说明之MeasureSpec类详细讲解
前言
在了解自定义View三大流程的Measure过程前,我们需要了解一个重要基础:...
写给初学者的Jetpack Compose教程,基础控件和布局
大家好,写给初学者的Jetpack Compose教程又更新了。
Compose的知识体系很庞大,因...
MyBatis框架及原理分析
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架,其主要...
Android 如何避免 Okhttp 的 HTTPS 请求被抓包
Android 网络安全:如何避免 Okhttp 的 HTTPS 请求被抓包
插件Activity的启动
在上一节分析中,我们已经知道宿主已经加载了插件的资源、类。也就是说在宿主中是...
kotlin 集合 : any/none/all
any : 是否至少有一个
/**
* 是否有(符合条件的)元素
*/
private fun any() {...
Android Jetpack Compose多平台用于Android和IOS
Android Jetpack Compose多平台用于Android和IOS
JetBrains和外部开源贡献者已经...
Android设计模式源码解析之Builder模式
1. 模式介绍
模式的定义
将一个复杂对象的构建与它的表示分离,使得同样的...
Android 在任意位置绘制文本
基础
通常情况下,在屏幕的特定位置上显示文字是个很简单的事情。使用TextView...
代码规范-对抗软件复杂度
1、为什么需要代码规范
任何系统性的项目都需要架构设计,而架构设计的核心命题...
Kotlin 互斥体:5 个用例
1. 保护多线程应用程序中的共享数据
设想:
在多线程应用程序中,多个线程...
插件守护进程模型
Replugin与VirtualApk很大的一个不同就是: 对于插件的管理,它支持单独开辟一个...

