最近在忙Android包體積優(yōu)化的工作,將包體積從大于87MB降到了不到65MB,降幅超過25%,做到了全行業(yè)競品包體積最小??偨Y(jié)下用到的工具和方法,希望對多團隊、業(yè)務(wù)復(fù)雜的...
最近在忙Android包體積優(yōu)化的工作,將包體積從大于87MB降到了不到65MB,降幅超過25%,做到了全行業(yè)競品包體積最小??偨Y(jié)下用到的工具和方法,希望對多團隊、業(yè)務(wù)復(fù)雜的...
本文為作者根據(jù)日常使用結(jié)合Gson源碼注釋及wiki所作的原創(chuàng)內(nèi)容,轉(zhuǎn)載請注明出處。本文鏈接:http://www.itdecent.cn/p/e740196225a4 JS...
在更深入的了解之前,讓我們先從一些例子看起:讓我們先寫一個簡單的泛型類: 代碼很簡單,代碼邏輯沒有問題,編譯也能通過。但是如果把boxDog賦值給 boxAnimal 呢?是...
確實是這樣,也有想過做窗口的邏輯層級管理。
可以考慮先remove然后add。
Android懸浮窗操作使用總結(jié)前陣子公司項目中需要大量使用Android懸浮窗去實現(xiàn)一些功能,對公司之前一團糟的代碼結(jié)構(gòu)和面對國產(chǎn)Android奇(沙)葩(雕)的機型適配(對,我說的奇(沙)葩(雕)機型就...
首先看堆棧: 大概是說 startForegroundService 但是沒有調(diào)用 Service.startForeground()?;氐綐I(yè)務(wù)代碼里一看,Backgroun...
一個工具類,拉下源碼就能看到了
Android懸浮窗操作使用總結(jié)前陣子公司項目中需要大量使用Android懸浮窗去實現(xiàn)一些功能,對公司之前一團糟的代碼結(jié)構(gòu)和面對國產(chǎn)Android奇(沙)葩(雕)的機型適配(對,我說的奇(沙)葩(雕)機型就...
多線程通信往往是個很頭疼的事情,Coroutine也不例外。多線程中有SynchronousQueue、Exchanger等,Coroutine提供了Channel這個工具用...
Coroutine scope負責(zé)在不同的coroutine之間形成結(jié)構(gòu)化和父-子關(guān)系(這里有點抽象,稍后會解釋什么是結(jié)構(gòu)化和父-子關(guān)系),通常會從scope中啟動一個新的c...
和線程Thread相比,Kotlin的Coroutines非常的輕量。開啟一個新的Coroutines可以使用launch,async或者runBlocking三個中的一個。...
很久之前就想寫這篇文章了,一方面是因為換工作啥的忙了一段時間,另一方面是想再用用更穩(wěn)一點再和大家分享。 15款的Mac可以更換硬盤,再后面的版本都是把硬盤焊死在主板上了。更換...