240 發(fā)簡信
IP屬地:寧夏
  • Kotlin中的?腾夯、!!、?:蔬充、:: 蝶俱、->、== 符號(hào)

    1. ? 和 !! ?加在變量名后饥漫,系統(tǒng)在任何情況不會(huì)報(bào)它的空指針異常榨呆。!!加在變量名后,如果對(duì)象為null趾浅,那么系統(tǒng)一定會(huì)報(bào)異常愕提! 上述是兩個(gè)符號(hào)的簡單概念馒稍,為了更好的解...

  • 120
    [轉(zhuǎn)]ThreadLocal-如何解決哈希沖突

    第一稳吮、前言 ThreadLocal使用的是自定義的ThreadLocalMap,接下來我們來探究一下ThreadLocalMap的hash沖突解決方式井濒。 ThreadLoca...

  • 120
    [轉(zhuǎn)]ThreadLocal-探究內(nèi)存泄漏及弱引用

    第一灶似、前言 有些程序員在使用ThreadLocal的過程中會(huì)發(fā)現(xiàn)有內(nèi)存泄漏的情況,就猜測(cè)這個(gè)內(nèi)存泄漏與Entry中使用了弱引用的key有關(guān)系瑞你。 第二酪惭、內(nèi)存泄漏的相關(guān)概念 1....

  • singleInstance的Activity啟動(dòng)的Activity從屬TaskRecord問題鲫懒,其實(shí)不看在哪創(chuàng)建,而是要看taskAffinity屬性寇钉,樓主實(shí)驗(yàn)的情況刀疙,ThirdActivity與MainActivity都是默認(rèn)同一個(gè)taskAffinity,所以壓入同一個(gè)棧扫倡,如果把ThirdActivity的taskAffinity改的與MainActivity不同谦秧,那么他就會(huì)新建TaskRecord了。另外SecondActivity一方面與MainActivity的taskAffinity相同撵溃,一方面是singleInstance需要?jiǎng)?chuàng)建新的獨(dú)享的TaskRecord疚鲤,所以存在taskAffinity沖突,所以在任務(wù)棧中是不顯示的缘挑。

    場(chǎng)景:singleinstance的Activity啟動(dòng)其他Activity會(huì)怎樣集歇?

    四種啟動(dòng)模式的具體內(nèi)容大家可能都比較清楚了,但有些關(guān)于singleinstance啟動(dòng)模式的場(chǎng)景卻有點(diǎn)不太清楚语淘。我們都知道singleinstance模式的Activity會(huì)...

  • 應(yīng)該是寫的有一點(diǎn)點(diǎn)問題诲宇,流程應(yīng)該是這樣的:1. ViewRootImpl#scheduleTraversals開啟同步屏障;2. Choreographer#postCallback中發(fā)送異步消息惶翻;3.經(jīng)過一系列調(diào)用姑蓝,發(fā)送完,開始回調(diào)吕粗,執(zhí)行callback中的runnable纺荧,就是mTraversalRunnable,也就是執(zhí)行ViewRootImpl#doTraversal(),其中就會(huì)取消同步屏障

    [轉(zhuǎn)]Android 消息機(jī)制中的同步屏障機(jī)制

    1宙暇、引言 我們知道输枯,Android的消息機(jī)制就是Handler、Looper占贫、Message桃熄、MessageQueue之間的運(yùn)作機(jī)制。本文假設(shè)大家對(duì) 它們都已經(jīng)有所了解型奥,所以...

  • 120
    [轉(zhuǎn)]自定義Gradle插件 + ASM實(shí)現(xiàn)字節(jié)碼插樁

    1. 什么是插樁蜻拨? 用通俗的話來講,插樁就是將一段代碼通過某種策略插入到另一段代碼桩引,或替換另一段代碼缎讼。這里的代碼可以分為源碼和字節(jié)碼,而我們所說的插樁一般指字節(jié)碼插樁坑匠。下圖是...

  • Handler全解析

    Handler相關(guān) 1. 用一句話概括Handler血崭,并簡述其原理 Handler是Android系統(tǒng)的根本,在Android應(yīng)用被啟動(dòng)的時(shí)候厘灼,會(huì)分配一個(gè)單獨(dú)的虛擬機(jī)夹纫,虛擬機(jī)...

  • 關(guān)于UI 稿的適配

    1. 可以用今日頭條的適配方式舰讹,修改系統(tǒng)的density 1.1 先確定按寬還是高為基準(zhǔn),進(jìn)行縮放適配闪朱。舉例選寬1.2 代碼中獲取設(shè)備的寬的像素值 / 設(shè)計(jì)稿寬的 dp值 =...

  • 120
    kotlin協(xié)程[8]:再說作用域

    CoroutineScope: 定義新協(xié)程的范圍月匣。每個(gè)協(xié)程構(gòu)建器都是CoroutineScope的擴(kuò)展,并繼承其coroutineContext以自動(dòng)傳播上下文元素和取消奋姿。獲...

  • 120
    kotlin協(xié)程[7]:深層揭示runBlocking與coroutineScope之間的異同

    在之前寫過這樣的一個(gè)例子锄开,先來回顧一下: 也就是來演示runBlocking與coroutineScope之間的異同點(diǎn),當(dāng)時(shí)還闡述了一個(gè)對(duì)它的理論描述称诗,也來回顧一下: 這里再...

亚洲A日韩AV无卡,小受高潮白浆痉挛av免费观看,成人AV无码久久久久不卡网站,国产AV日韩精品