首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Android 开发
ByteSaid
创建于2022-08-02
订阅专栏
Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备。这里是一些关于 Android 开发的分享,一起交流,共同进步!
等 15 人订阅
共22篇文章
创建于2022-08-02
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Android 内核开发之—— repo 使用教程
repo 是一个用于管理多个 Git 仓库的工具,特别适用于管理大型项目如 Android 的源码。它是由 Google 开发的,用于解决多个 Git 仓库的同步、管理和代码审查等问题。
Android Binder 通信一次拷贝的原理
Binder是Android提供的IPC通信机制,它是通过内存映射实现的,而这也是Binder相对于其他传统进程间通信方式的优点之一,即我们说的Binder只需要做“一次拷贝”,那么它的原理是什么呢?
为什么 Android 要采用 Binder 作为 IPC 机制?
通过mmap,Binder通信时,只需要经历一次数据复制,性能要优于管道、消息队列、socket等方式,在安全性,易用性方面又优于共享内存。所以,Android要采用Binder作为IPC机制。
SurfaceView 与 TextureView 详解
播放视频或者渲染其他的动画的时候,有两个 View 组件可供选择,SurfaceView 和 TextureView。从性能和安全性角度出发,优先选 SurfaceView。
Android 基于共享内存实现跨进程大数据的高效传输
Android 基于共享内存实现跨进程大数据的高效传输。生成者进程向 ImageWriter 中写入数据,消费者进程通过 ImageReader 的回调接收数据,两者通过 surface 建立关联。
如何解决 java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader
在 ndk 项目中,运行时出现 crash,报错信息为:java.lang.UnsatisfiedLinkError: couldn't find "xxx.so"时,是因为so文件加载异常。
Camera1 源码解析系列(五)—— Camera1 takePicture() 流程解析
前面几篇文章已经把 Camera 控制流的部分梳理得比较清楚了。本篇将数据流与 Camera 的控制流结合起来,从 takePicture() 方法切入,追踪一个比较完整的 Camera 流程。
Camera1 源码解析系列(四)—— Camera1 startPreview() 流程解析
上一篇关于分析了 hw_get_module() 的调用逻辑,本篇通过追踪 Camera.startPreview() 方法,以加深对控制流的理解。
Camera1 源码解析系列(三)—— Camera1 hw_get_module() 解析
这一章,我们将从 `hw_get_module()` 函数入手,去探究 `Libraries` 层是如何调用 `HAL` 层的库中的函数的。
Camera1 源码解析系列(二)—— Camera1 Open() 流程解析
这一章里,我们将Camera.java中的open()方法作为切入点,按照Framework->Android Runtime ->C/C++ Libraries ->HAL的顺序去分析整个调用流程。
Camera1 源码解析系列(一)—— Camera1 基本架构
虽然 Android5.0 开始弃用 Camera API1,但是各个手机厂商对 Camera API2 的支持是一个渐进式的过程,所以在很多高版本中使用 Camera API1 也是很常见的情况。
Android AIDL 使用教程
AIDL是一种 IDL 语言,用于生成可以在 Android 设备上两个进程之间进行进程间通信(IPC)的代码。通过 AIDL,可以在一个进程中获取另一个进程的数据和调用其暴露出来的方法。
Android AudioEffect 音效方案(基于 Android 2.3 - Android 8.1)
Android2.3 增加了对音频混响的支持,通过 AudioEffect 可以方便地对 AudioTrack 和 MediaPlayer 播放的音乐进行音效控制。
Android AudioEffect 音效方案(基于 Android 9.0)
Android 9.0新增了用于 DynamicsProcessing 的 AudioEffect API,使用此类,我们可以构建基于通道的音频效果。
Android 双屏异显
日常生活中,有时候会遇到 Android 设备连接两个屏幕进行显示的问题,比如酒店登记信息时,一个屏幕用于员工操作,一个屏幕显示相关信息供顾客查看。这里就涉及到 Android 的双屏异显的问题。
Android 内存泄露分析
内存泄漏是指内存空间使用完毕后无法被释放的现象。尽管Java有垃圾回收机制(GC),但是对于还保持着引用,逻辑上却已经不会再用到的对象,垃圾回收器不会回收它们。
Android Studio Memory Profile 的使用
Memory Profiler 是 Android Profiler 中的一个组件,它可以帮助你识别内存泄漏和内存溢出,从而导致存根、冻结甚至应用程序崩溃。
Android 内存泄漏检测工具 LeakCanary 的使用
LeakCanary 是 Square 公司为 Android 开发者提供的一个自动检测内存泄漏的工具,本质上是一个基于 MAT 进行 Android 应用程序内存泄漏自动化检测的的开源工具。
NDK 入门指南
NDK 即 Native Development Kit,是 Android 中的一个开发工具包,使您能够在 Android 应用中使用 C 和 C++ 代码,并提供众多平台库。
NDK 开发之 JNI 方法静态注册与动态注册
Java 层中的方法是如何与 native 层的函数一一对应的呢? 这里有两种方法:**静态注册、动态注册**。
下一页