在Android開發(fā)中泽腮,使用MVVM架構(gòu)與Jetpack組件結(jié)合,是當今流行且高效的開發(fā)方式衣赶。MVVM(Model-View-ViewModel)是一種設(shè)計模式诊赊,而Jetpa...
在Android開發(fā)中泽腮,使用MVVM架構(gòu)與Jetpack組件結(jié)合,是當今流行且高效的開發(fā)方式衣赶。MVVM(Model-View-ViewModel)是一種設(shè)計模式诊赊,而Jetpa...
Android四大組件的生命周期、使用方法府瞄、ANR時間及四大啟動模式的生命周期與使用場景 一碧磅、Android四大組件的生命周期、使用方法及ANR 1. Activity Ac...
Android開發(fā)過程中遇到各種異常是不可避免的遵馆。透過詳細的異常記錄续崖,我們不但能理解程序崩潰的原因,還能根據(jù)異常類型采取針對性的解決措施团搞。以下為一些常見的Android異常和...
前言 ActivityRecord像吻、Task峻黍、ActivityStack是和ActivityManager相關(guān)的三個很重要的數(shù)據(jù)結(jié)構(gòu),只有理解了它們拨匆,我們才能更好的理解Act...
1.它們在啟動方式上有什么區(qū)別 2.它們在注冊方式上有什么區(qū)別 3.它們在使用方式上有什么區(qū)別 系統(tǒng)服務(wù)大多數(shù)是跑在SystemServer里的姆涩,也是在SystemServe...
本篇文章基于Android11源碼分析,本篇文章的源碼均在frameworks目錄下 1. 調(diào)整音量的方式: 在學(xué)習(xí)AudioService源碼服務(wù)之前惭每,我們看一下在應(yīng)用層如...
本文由玉剛說寫作平臺提供寫作贊助台腥,版權(quán)歸玉剛說微信公眾號所有原作者:Mr.s(豬_隊友)版權(quán)聲明:未經(jīng)玉剛說許可宏赘,不得以任何形式轉(zhuǎn)載 今年谷歌I/O大會,谷歌發(fā)布了 Andr...
首先,在桌面新建一個test文件夾峻汉,并在該目錄下新建2個文件夾folder1和folder2贴汪。 連接Android設(shè)備,在cmd窗口中使用adb shell后休吠,使用 wm s...
遇到的問題: 用戶的應(yīng)用通過遙控器按鍵切換焦點時,已經(jīng)開啟了系統(tǒng)音量扳埂,但是沒有切換焦點時沒有提示聲。 所以有了本篇文章瘤礁,一是Key的事件分發(fā)邏輯聂喇,二是AudioManager...
1. 內(nèi)存泄漏 為什么會出現(xiàn)內(nèi)存泄漏?因為在GC垃圾回收時會利用GC Root可達性分析算法去遍歷哪些對象正在被引用蔚携。如果一個對象該銷毀時卻被另一個更長生命周期的對象引用希太,則...
前言 最近在看《Linux內(nèi)核設(shè)計與實現(xiàn)》的時候,就想著要不把知識串聯(lián)一下吧酝蜒。 聊什么呢誊辉?今天先來聊聊 Android IO 的調(diào)用鏈路。 說起 IO亡脑,這可真是一個很復(fù)雜的過...
1. 概述 Android的啟動優(yōu)化主要是加速用戶打開App到可交互的時間堕澄。在這段時間里面經(jīng)歷的Application的啟動創(chuàng)建,SplashActivity霉咨、MainAct...
之前三篇文章介紹了 .class 文件的結(jié)構(gòu)蛙紫、JVM 對 .class 文件加載以及在 JVM 中是怎么執(zhí)行程序的,接下來的文章會介紹 ASM 的使用途戒,ASM 是運用訪問者模...
我們平時在android studio中點擊run 坑傅,就能把代碼編譯成一個apk文件并安裝到手機上。那么這個過程中都具體發(fā)生了什么 喷斋?我們是怎么把代碼和資源文件打包成一個ap...
1. 類加載機制 在之前的文章萬字長文把[JVM]從頭到尾講一遍[http://www.reibang.com/p/8b37d2d22c62]中詳細講了JVM虛擬機的內(nèi)存結(jié)...
實現(xiàn)思路 卡頓監(jiān)控主要監(jiān)控:慢方法的監(jiān)控唁毒、ANR的監(jiān)控蒜茴、掉幀的監(jiān)控。其實現(xiàn)方案主要有三種: Looper的Printer在消息執(zhí)行前后的打印浆西,計算出消息執(zhí)行時間粉私。 利用Cho...