从架构到源码:一文了解Flutter渲染机制
跨平台技术由于其一码多端的生产力提升而表现出巨大的生命力,从早期的Hybrid App...
Android中的线程Thread
线程原理
线程创建
线程是比进程更加轻量级的调度单位,线程的引入可以把进...
JNI 编程上手指南之 JNIEnv 详解
1. JNIEnv 是什么
JNIEnv 即 Java Native Interface Environment,Java 本地编...
JNI 编程上手指南之从内存角度再看引用类型
1. Java 程序使用的内存
Java 程序使用的内存从逻辑上可以分为两个部分:
...
kotlin泛型
泛型使用方法
在类上使用泛型
类上面使用泛型,需要把泛型声明在类名后...
Android MVVM模式
1、MVVM模式各部分的定义
1.1、MVVM模式分为3个部分:Model、View和ViewModel。
(...
插件Activity的启动
在上一节分析中,我们已经知道宿主已经加载了插件的资源、类。也就是说在宿主中是...
JNI 编程上手指南之描述符
1. 类描述符
在 JNI 的 Native 方法中,我们要使用 Java 中的对象怎么办?即在...
macos上android ffmpeg编译与使用
本篇介绍
本篇介绍下如何在macos上编译android的ffmpeg,并在android工程中使...
Flutter发布库流程
创建flutter库
先创建一个Flutter库工程,再在此库工程中创建Flutter项目。
flutte...
CopyOnWriteArrayList实现原理及源码分析
CopyOnWriteArrayList是Java并发包中提供的一个并发容器,它是个线程安全且读...
卓越工程之如何做好Code Review
阿里妹导读
本文主要从我们为什么需要CR?CR面...
PendingIntent使用解析
PendingIntent 中的单词 “pending” 指延迟或挂起,就是指它是延迟的或挂起的。一句...
Android 在任意位置绘制文本
基础
通常情况下,在屏幕的特定位置上显示文字是个很简单的事情。使用TextView...
Kotlin 基本类型、函数、lambda、类与对象的写法
1. 基本类型2. 关键字3. 函数4. Kotlin 方法可以直接写在 .kt 文件里,不用写在某...
android中Serializable 比 Parcelable好在哪?
一、序列化的目的:
(1)永久的保存对象,将对象数据保存在文件、磁盘或...

