背景 明明代码中已经对 IO操作做了完善的关闭处理,在 Android StrictMode 下仍然收到了“IO泄漏”的告警?这篇文章就来分析一下这个诡异的问题。 问题 在 ...
背景 明明代码中已经对 IO操作做了完善的关闭处理,在 Android StrictMode 下仍然收到了“IO泄漏”的告警?这篇文章就来分析一下这个诡异的问题。 问题 在 ...
官方对APK构建过程的介绍 官方 - 构建流程介绍[https://developer.android.com/studio/build/index.html?hl=zh-c...
背景 本文仅探讨java层的未捕获异常的监控 为什么我们自己的异常捕获总是比 Bugly 收到的信息少? Android未捕获异常的监控与收集 Java层未捕获异常监控的基本...
背景介绍 Android Dex 的生成过程,离不开 DX、Proguard、D8、R8 等工具的使用,关于它们的关系与历史背景,不清楚的可以参考这篇博客【Android代码...
这个需要自己调试一下,另外系统版本对蓝牙API也有影响,高版本中好像获取不到某些API结果了
Android 蓝牙监听与扫描基础知识 蓝牙操作主要有四项任务:设置蓝牙、查找局部区域内的配对设备或可用设备、连接设备,以及在设备间传输数据。 蓝牙的分类 传统蓝牙(Classic Bluetooth) ...
问题 项目使用了 kotlin 的 kapt 插件添加某个依赖,打包 APK 时报错: 是 task:kaptDebugKotlin 失败了,使用 --stacktrace ...
问题 线上异常: 分析 看起来是派生的 Activity 中没有调用超类的 onCreate() ,也就是派生类中没有 super.onCreate() 导致的问题。追一下代...
摘要: 本文发现了一类OOM(OutOfMemoryError),这类OOM的特点是崩溃时java堆内存和设备物理内存都充足,探索并解释了这类OOM抛出的原因。 关键字: O...
好文,还有一种堆内存够用但发生OOM的场景:内存碎片太多,申请内存时无大小够用的连续内存
不可思议的OOM摘要: 本文发现了一类OOM(OutOfMemoryError),这类OOM的特点是崩溃时java堆内存和设备物理内存都充足,探索并解释了这类OOM抛出的原因。 关键字: O...
从通信机制角度看应用启动过程 首先,让我们结合通信机制,来看看通过Launcher启动App的过程(假设为冷启动)。结合上图,其完整流程如下: Launcher 通过所持有的...
问题 线上有统计到以下错误: 调查 这个问题很多应用在各种机型上都有出现,比较可信的说法是: Activity启动Service,Service中有耗时任务,要等任务结束后才...
@King4Ghost 这两个协议的具体细节我也还没去研究,网上搜一下应该会有不少
让你彻底明白:HTTPS安全通信机制三年前写的文章,最近在整理资料时发现这篇没发布过,就顺便分享出来,希望能帮到有需要的人。 一点点历史回顾 ARPAnet Reference Model 1969年11月,美...
前言 我们都知道信息在网络中的安全传输,其核心是依托于各种加解密机制,发送方的明文通过加密算法转为密文,再通过网络传输给接收方,接收方再通过解密算法将密文还原为明文。目前应用...
三年前写的文章,最近在整理资料时发现这篇没发布过,就顺便分享出来,希望能帮到有需要的人。 一点点历史回顾 ARPAnet Reference Model 1969年11月,美...
本文转载自 《面向对象设计原则》[%5Bhttp://c.biancheng.net/view/1322.html%5D(http://c.biancheng.net/vie...
背景 为了保存一个全局可用的ApplicationContext对象,通过反射ActivityThread.currentActivityThread()来实现。近期在分析线...
是的,做各种版本适配,头都大了,以前只有机型适配很烦人
Android 获取应用列表前言 目前正是Android 11 马上要发布的时期,当前在Android手机上获取应用安装列表,要从三个维度上区分:获取方法、系统版本、是否系统应用。 获取方法:至少有两种...
问题背景 项目编译过程中,使用了类似Android Gradle Plugin的gradle插件进行编译,在最终打包apk时,会动态修改manifest文件。 近期发现线上用...
synchronized关键字 首先,来看一个多线程竞争临界资源导致的同步不安全问题。 运行结果: synchronized实例方法 锁定实例对象(this) 以开头的代码为...
并发不一定要依赖多线程(如PHP中很常见的多进程并发),但是在Java里面谈论并发,大多数都与线程脱不开关系,因此,就让我们从Java线程在虚拟机中的实现开始讲起。 线程的实...