深入理解JVM垃圾收集机制
程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的...
MMKV for Android 多进程设计与实现
MMKV 是基于 mmap 内存映射的移动端通用 key-value 组件,底层序列化/反序列化...
代码规范-对抗软件复杂度
1、为什么需要代码规范
任何系统性的项目都需要架构设计,而架构设计的核心命题...
App Crash 详解
一、App Crash 概述
二、检测Crash 问题
三、Android vitals
四、分析App Crash
...
算法 – 回溯
如何尝试走迷宫呢?遇到障碍物就从头 “回溯” 继续探索,这就是回溯算法的形象解释...
JNI 编程上手指南之从内存角度再看引用类型
1. Java 程序使用的内存
Java 程序使用的内存从逻辑上可以分为两个部分:
...
Matrix-iOS 卡顿监控
前言
在早期开发 iOS 微信的过程中,我们时不时会收到类似的反馈:
“我...
Android应用程序(APK)的编译打包流程详解
一、官方说明
下图的是官网对于Android编译打包流程的介绍。
官方的介绍非常笼统...
Android逆向技术50——Android集成Botan库
Android逆向技术49——Android集成Botan库
缘起是,发现这个库好久了,但是呢,一直...
Android Framework 核心基础的学习路线图
1. 为什么要学习 Android Framework?
作为一名应用层 App 开发工程师,我们为...
已测试得物App白屏优化系列|归因篇
一、前言
本系列前面两篇文章已经分别在图片库和网络库的角度介绍了诸多白屏问...
Flutter安装配置
Mac 配置Flutter环境
互联网大佬的技术方案如何精美制作?
在各大技术论坛、公司中,常看见别人写的技术博客,技术方案,需求文档,这些图怎...
Kotlin 中定义类、field关键字,主构造函数和次构造函数详解
1、定义类与field关键字,以及计算属性,和防范竞态条件
class Student {
...

