幣幣交易模塊重寫(作者張輝) 現(xiàn)有問(wèn)題 布局文件層級(jí)結(jié)構(gòu)復(fù)雜艾栋。 多次迭代導(dǎo)致出現(xiàn)大量冗余代碼据沈。 關(guān)鍵模塊代碼不嚴(yán)謹(jǐn)哥谷,部分邏輯混亂。 缺少注釋,不便于后面維護(hù)。 優(yōu)化目標(biāo) 布局...
幣幣交易模塊重寫(作者張輝) 現(xiàn)有問(wèn)題 布局文件層級(jí)結(jié)構(gòu)復(fù)雜艾栋。 多次迭代導(dǎo)致出現(xiàn)大量冗余代碼据沈。 關(guān)鍵模塊代碼不嚴(yán)謹(jǐn)哥谷,部分邏輯混亂。 缺少注釋,不便于后面維護(hù)。 優(yōu)化目標(biāo) 布局...
下面是事件分發(fā)機(jī)制的一些結(jié)論 ViewGroup默認(rèn)不攔截任何事件电媳。Android源碼中ViewGroup的onInterceptTouchEvent方法默認(rèn)返回false。...
先看示例代碼 兩個(gè)自定義控件庆亡,重寫了相關(guān)方法匾乓,便于考察事件分發(fā) 點(diǎn)擊一下界面中的文本,日志打印如下 可見又谋,事件傳遞過(guò)程是由外向內(nèi)拼缝,即事件總是先傳遞給父元素,然后由父元素分發(fā)給...
一個(gè)簡(jiǎn)單問(wèn)題:點(diǎn)擊Activity中的一個(gè)TextView搂根,觸摸事件是怎樣分發(fā)傳遞的 View的事件傳遞由三個(gè)重要方法完成,dispatchTouchEvent(), onI...
當(dāng)前組件銷毀時(shí)铃辖,后臺(tái)線程同樣需要中止剩愧,否則仍會(huì)在內(nèi)存中運(yùn)行,這就造成內(nèi)存泄漏娇斩。 線程對(duì)象屬于一次性消耗品仁卷,一般線程執(zhí)行完run方法之后,線程就正常結(jié)束了犬第,線程結(jié)束之后就報(bào)廢了...
AsyncTask是并行執(zhí)行的嗎锦积?一般都會(huì)覺(jué)得當(dāng)然是并行執(zhí)行,但其實(shí)不是歉嗓。 在Android 1.5剛引入的時(shí)候丰介,AsyncTask的execute是串行執(zhí)行的;到了Andr...
AsyncTask是對(duì)線程池和Handler的封裝鉴分。以API 23源碼為例哮幢,看它是怎樣使用Handler的 Handler使用了主線程的Looper,這樣onPreExecu...
詳解一說(shuō)明了線程池的基本配置參數(shù)志珍,這里繼續(xù)說(shuō)AsyncTask內(nèi)部是怎樣對(duì)線程池進(jìn)行配置使用的 AsyncTask對(duì)線程池的配置 以API 23(6.0)為例橙垢,看一看Asyn...
AsyncTask的內(nèi)部使用線程池處理并發(fā),要了解它是怎樣使用線程池的伦糯,那要先了解線程池的基本設(shè)置 線程池的基本參數(shù) corePoolSize: 核心線程數(shù)目柜某,即使線程池沒(méi)有...
這里Handler為什么要用弱引用來(lái)持有Activity的引用?和使用軟引用有什么區(qū)別敛纲? 這里使用弱引用持有Activity喂击,就是表示Handler不會(huì)占用著對(duì)activit...
Android系統(tǒng)不太突出進(jìn)程概念,因此靜態(tài)變量的生命周期也讓人感覺(jué)模糊淤翔。這種模糊對(duì)于值類型的靜態(tài)變量倒關(guān)系不大惭等,但如果是靜態(tài)的對(duì)象引用,則與內(nèi)存回收办铡、內(nèi)存泄漏密不可分辞做。 靜...
如果一個(gè)變量琳要,既是靜態(tài)變量,而且是非靜態(tài)的內(nèi)部類對(duì)象秤茅,那么就會(huì)造成內(nèi)存泄漏: 這里定義的 Hello 雖然是空的稚补,但它是一個(gè)非靜態(tài)的內(nèi)部類,所以它必然會(huì)持有外部類即 Leak...
什么叫內(nèi)存泄漏 垃圾收集器的運(yùn)行是基于“節(jié)點(diǎn)可達(dá)算法”框喳。簡(jiǎn)單說(shuō)课幕,如果一個(gè)對(duì)象,從它的根節(jié)點(diǎn)就是不可達(dá)的話五垮,這個(gè)對(duì)象是沒(méi)有引用的乍惊,GC就會(huì)回收它。 因此放仗,如果一個(gè)對(duì)象從根節(jié)點(diǎn)開...
這個(gè)問(wèn)題由使用非靜態(tài)內(nèi)部類導(dǎo)致內(nèi)存泄漏的問(wèn)題引出润绎。 內(nèi)部類和外圍類的真實(shí)關(guān)系 內(nèi)部類是個(gè)編譯時(shí)的概念,一旦編譯成功后诞挨,它就與外圍類屬于兩個(gè)完全不同的類(當(dāng)然它們之間還是有聯(lián)系...
先來(lái)看一段使用Thread的代碼莉撇,簡(jiǎn)單而常見 Ok,想一下惶傻,如果用戶旋轉(zhuǎn)了屏幕棍郎,這時(shí)會(huì)發(fā)生什么? 正常情況下银室,系統(tǒng)新創(chuàng)建一個(gè)橫屏的Activity實(shí)例涂佃,銷毀舊的Activit...
先看下面這段handler代碼: 在使用handler時(shí),這是一段很常見的代碼蜈敢。但是巡李,它卻會(huì)造成嚴(yán)重的內(nèi)存泄漏問(wèn)題。上述代碼的編寫往往會(huì)得到如下警告: 那么扶认,handler是...
affinity本意是“和什么相似/一樣”侨拦,這個(gè)一樣是針對(duì)任務(wù)棧而言,所以也翻譯為“任務(wù)相關(guān)性”辐宾。 affinity可以告訴所在的task狱从,自己是這個(gè)task中的一員;擁有相...