Android NDK开发基础
前言
NDK即Native Development Kit,是Android上用来开发c/c++的开发工具包。 ...
Kotlin | Flow数据流的几种使用场景
一 Flow使用注意事项
多个Flow不能放到一个lifecycleScope.launch里去collect{...
如何将您的应用连接到 Wi-Fi 设备?
随着物联网的发展,将 Android 应用连接到启用 Wi-Fi 的设备越来越普遍。无论您要...
【Android 启动过程】Android 应用启动流程 | Activity 启动流程
文章目录
一、Android 系统启动流程
二、Activity 启动流程
一、Android ...
Kotlin中扩展函数、infix关键字、apply函数和DSL的详解
一、扩展函数
定义扩展函数扩展可以在不直接修改类定义的情况下增加类功能,扩...
ThreadLocal的使用及原理分析
1. 什么是ThreadLocal?
ThreadLocal称作线程本地存储。简单来说,就是ThreadLo...
Netty原理分析
1. Netty简介
Netty是一个高性能、异步事件驱动的NIO框架,基于JAVA NIO提供的A...
Android设计模式源码解析之策略模式
1. 模式介绍
模式的定义
策略模式定义了一系列的算法,并将每一个算法封装...
插件Activity的启动
在上一节分析中,我们已经知道宿主已经加载了插件的资源、类。也就是说在宿主中是...
虚拟机Android Dalvik 虚拟机介绍
1.Java 语言在Android 上运行流程
2.虚拟机发展过程
3.Android Dalvik 模式
4.And...
Android设计模式源码解析之迭代器(Iterator)模式
1. 模式介绍
模式的定义
迭代器(Iterator)模式,又叫做游标(Cursor)模...
macos上android ffmpeg编译与使用
本篇介绍
本篇介绍下如何在macos上编译android的ffmpeg,并在android工程中使...
Android 在任意位置绘制文本
基础
通常情况下,在屏幕的特定位置上显示文字是个很简单的事情。使用TextView...
This 带来的困惑
1 引言
javascript 的 this 是个头痛的话题,本期精读的文章更是引出了一个观...
Android设计模式源码解析之模板方法模式
1. 模式介绍
模式的定义
定义一个操作中的算法的框架,而将一些步骤延迟到...
深入理解JVM垃圾收集机制
程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的...
Android Studio插件
ButterKnife Zelezny:简化视图绑定
ButterKnife Zelezny 插件自动执行了为 ...
kotlin基础语法介绍
类型的声明与使用
val与var
val->不可变引用,var->可变引用。
我...
Rxjava 线程切换原理
前言
rxjava 可以很方便的进行线程切换, 那么rxjava是如何进行线程切换的呢?...