现代化 Android 开发:多 Activity 多 Page 的 UI 架构纯 Activity 时代Fragment 入场路由框架入场最后
在古老的 Android 时代,基本上一个 Activity 就代表一个界面,所以开发不需要做...
代码规范-对抗软件复杂度
1、为什么需要代码规范
任何系统性的项目都需要架构设计,而架构设计的核心命题...
Android Framework 核心基础的学习路线图
1. 为什么要学习 Android Framework?
作为一名应用层 App 开发工程师,我们为...
微信全文搜索优化之路
本文首次发表在《程序员》杂志 2017 年 09 月期。
前言
基于本地数据的全...
Matrix-iOS 卡顿监控
前言
在早期开发 iOS 微信的过程中,我们时不时会收到类似的反馈:
“我...
虚拟机Android Dalvik 虚拟机介绍
1.Java 语言在Android 上运行流程
2.虚拟机发展过程
3.Android Dalvik 模式
4.And...
Flutter安装配置
Mac 配置Flutter环境
算法 – 回溯
如何尝试走迷宫呢?遇到障碍物就从头 “回溯” 继续探索,这就是回溯算法的形象解释...
android Binder分析
讲Android Binder机制的文章非常多,这篇文章主要是理一下我对Binder的理解。本文...
Hal 层添加访问 linux 驱动的接口
写给应用开发的 Android Framework 教程是一个系列教程,目前已更新以下内容:
...
JNI 编程上手指南之从内存角度再看引用类型
1. Java 程序使用的内存
Java 程序使用的内存从逻辑上可以分为两个部分:
...
Gradle 编写及整个构建详解
本文不会太具体讲编写Gradle插件中用到的API,只是大致梳理一下如何编写一个Gr...
Flutter 优化:布局时尽量用 const
一、说明
看到很多 Flutter 构建 UI 时会比较多用到 const,为什么不直接创建实例...
Jetpack系列-LiveData使用和源码分析
1 简介和简单使用
1.1 简介
LiveData是一种可观察的数据存储器类。与常规的可观察...
我终于搞懂了async/await、promise和setTimeout的执行顺序
今天看到一道面试题,是关于async/await、promise和setTimeout的执行顺序,题...