JNI 编程上手指南之数组访问
1. 引子
JNI 中的数组分为基本类型数组和对象数组,它们的处理方式是不一样的...
Android ANR分析(trace文件的产生流程)
ANR信息获取(trace文件的产生流程)
首先收集需要dump trace的进程并给对应...
Android OpenGLES 3.0 开发系统性学习教程
基础篇
OpenGL ES 3.0 开发(01):绘制一个三角形
OpenGL ES 3.0 开...
JNI 编程上手指南之 JNI 数据类型
1. 数据类型
JNI 程序中涉及了三种数据类型,分别是:
Java 类型
JNI ...
聊聊ViewPager2中的缓存和复用机制
1. 前言
众所周知ViewPager2是ViewPager的替代版本。它解决了ViewPager...
Android设计模式源码解析之迭代器(Iterator)模式
1. 模式介绍
模式的定义
迭代器(Iterator)模式,又叫做游标(Cursor)模...
macos上android ffmpeg编译与使用
本篇介绍
本篇介绍下如何在macos上编译android的ffmpeg,并在android工程中使...
Android Studio插件
ButterKnife Zelezny:简化视图绑定
ButterKnife Zelezny 插件自动执行了为 ...
Kotlin 中的 Lambda 与 Inline
在Kotlin中,有很多很酷很实用的特性,比如Lambda和高阶函数,利用这些特性,...
Flutter安装配置
Mac 配置Flutter环境
Kotlin 作用域函数之let、with、run、also、apply的使用笔记
作用域函数
Kotlin 标准库包含几个函数,目的是在对象的上下文中执行代码块。...
Android设计模式源码解析之Proxy模式
Binder中的代理模式
再说Binder中的代理模式之前,我们需要先看看代理模式的简...
Android组件化架构 – 5. 数据存储 & GreenDao,Room
1. 数据的存储方式
最常用的五种数据存储方式: SharePreferences, File I/O, SQLit...
Android Git使用
前言
作为一个程序员,你保存代码的方式是什么?更新代码的方式是什么?你还...
Kotlin基础-for循环return、break、continue
一、前言:
java中return、break、continue的含义:
1、break:不仅可以结束其...
ConcurrentHashMap原理分析
背景
ConcurrentHashMap是Java5中新增加的一个线程安全的Map集合,可以用来替代...
深入理解Chromium的渲染机制
今天我们来聊一聊Chromium的渲染机制,这也是渲染机制系列的第二篇,最近大半年的...
Java IO 之 管道流 原理分析
概述
管道流是用来在多个线程之间进行信息传递的Java流。
管道流分为字节流管道...
算法题 – 统计可以被 K 整除的下标对数目
今天我们看一道 leetcode hard 难度题目:统计可以被 K 整除的下标对数目。
题...

