背景 明明代碼中已經對 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() 導致的問題。追一下代...
從通信機制角度看應用啟動過程 首先,讓我們結合通信機制,來看看通過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線程在虛擬機中的實現開始講起。 線程的實...