Category: Android技巧
-
可能是软键盘状态与高度监听最佳方案
之前写过一个监听Android系统软键盘高度的解决方案——软键盘高度监测最佳实践,今天将这个方案加以改进,写成了一个库——skb-global。 -
相机录像新姿势-OpenGL共享上下文+MediaCodec
一、前言 承接上一文章Camera无变形任意尺寸预览,我们已经实现了无形变的任意尺寸的相机画面预览。接下来要完成相机的相关录像、拍照、扫码等功能,最重要也是最难的就是录像部分。 -
Camera无变形任意尺寸预览
在以往做Camera应用开发时,遇到一个问题,就是相机的预览如何做到在任意尺寸完全无变形的画面预览与视频录制。做过相机应用开发的朋友都知道,相机的预览尺寸并不是可以随意设置的,而是需要在支持的预览尺寸中选择一个,你的预览的view大小必须与选择的尺寸相匹配,才能保证画面不变形,但是这在实际开发中是无法应对各种各样的需求的,而且每个手机,支持的预览尺寸并不是完全一致的,而视频的大小往往是需要做到一致的,不然录制出来的视频,在其他手机上播放,就需要做大量的UI适配工作,也没有平台的统一性。 -
J2V8深度绑定机制分享
在使用J2V8的过程中,一个比较让人头疼的问题就是,双层(Java层/JS层)数据不同步的问题,产生这样的问题就在于两层各自修改了数据以后,没有把最新的数据及时通知给对方。 -
软键盘高度监测最佳实践
最近终于总结出最佳的软键盘高度监测方案了,特此分享出来。 源码在此:KeyboardObserver.kt -
难忘的调试技巧
这里用于总结一些在工作中发现的调试技巧。 -
Jitpack托管库
以前只是用过别人托管在Jitpack上的库,自己的库都是托管在MavenCentral上,但是MavenCentral使用起来,相比Jitpack还是有些麻烦。经过简单尝试和学习,了解了Jitpack的使用,做一下简单记录。 -
Android的clipToXXX
最近处理工作bug的过程中,有一个需求是这样的,两层view,父view包含着子view,然后子view能显示出的区域,要以父view的背景来过滤。没看懂是不是?参考下图: 简单说,就是子view的背景显示区域,不能超过父view的背景区域。 -
Intent.FLAG_ACTIVITY_***解密
最好先看这一篇Launch Mode。 -
发布Android库到MavenCentral教程
JCenter已经宣布,即将在2020年5月1日,停止新的库的提交,在2022年2月21号以前,连库的解析服务也停止,所以,把以前的库或者未来的新库替换到MavenCentral是当务之急了。 -
LaunchMode
此文是阅读《Android 面试黑洞——当我按下 Home 键再切回来,会发生什么?》一文后的总结,视频地址Bilibili、Youtube。 -
Binder机制分析
参考文章:写给 Android 应用工程师的 Binder 原理剖析 -
ASM库介绍与使用
原文 -
App保活术
为什么要保活? -
Apk瘦身术
Apk瘦身主要从三方面入手:资源文件、源代码和第三方类库。 -
AMS启动流程
AMS是ActivityManagerService的简称,看名字,似乎是Activity的manager,实际上,它管理的可不只是Activity。 -
Activity启动流程
原文参考:Activity 启动流程分析(Android10)