redux原理分析
前言
相信很多人都在使用redux作为前端状态管理库进去项目开发,但仍然停留...
Flutter和原生Android控件对比
Flutter和原生Android控件对比:
Flutter控件
Android控件
AppBar
ActionBa...
算法 – 二叉搜索树
二叉搜索树的特性是,任何一个节点的值:
都大于左子树任意节点。
都...
kotlin 协程需要注意的7个要点
协程的 cancel 不能中断线程
如果我们在协程中使用了线程的并发集合,比如Link...
CopyOnWriteArrayList实现原理及源码分析
CopyOnWriteArrayList是Java并发包中提供的一个并发容器,它是个线程安全且读...
Kotlin内联函数inline、noinline、crossinline
高阶函数
首先来看下kotlin里的高阶函数定义:如果一个函数接收另一个函数作为...
Android Audio支持Usb 音频设备
背景
最近遇到一些场景,Android 需要支持通话音量下从一些usb外设采集音频数...
原生AspectJ用法分析以及Spring-AOP原理分析
前言
前两天看了一些关于spring aop以及AspectJ的文章,但是总是感觉非常的...
HandlerThread原理分析、实战、最佳实践!
本文我们将学习HandlerThread的实现原理,以及开发时,如何正确的使用它来实...
Java IO 之 管道流 原理分析
概述
管道流是用来在多个线程之间进行信息传递的Java流。
管道流分为字节流管道...
Base64编码原理分析
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,在了解Base64编码...
android中Serializable 比 Parcelable好在哪?
一、序列化的目的:
(1)永久的保存对象,将对象数据保存在文件、磁盘或...
短链接原理分析
1. 什么是短链接
顾名思义,短链接即是长度较短的网址。通过短链接技术,我们可...
Jetpack Compose也能搞插件化了
/ 前言 /
在传统的 Android 开发模式中,由于界面过分依赖于 Activity、Fra...
Android设计尺寸规范
Android设计尺寸规范
Android性能优化实践
内存优化
在Android开发中,有一些实践可以帮助进行内存优化,以减少应用程序的...
Rxjava 线程切换原理
前言
rxjava 可以很方便的进行线程切换, 那么rxjava是如何进行线程切换的呢?...