摘要:
性能優化這塊,分為UI性能優化、內存優化、數據庫優化、網絡優化、耗電優化等等。可以從1.如何發現問題,2.怎么解決問題,3.解決效果對比,這幾個方面去描述。舉個簡單例子——UI優化,可以從 UI出現什么問題(卡頓不流暢),怎么查找問題(手機開發者權限>GPU過度繪制 發現層級問題,TraceView
閱讀全文
摘要:
1.抽象工廠模式定義 抽象工廠模式可以說是是工廠方法模式的升級版,當需要創建的產品有多個產品線(產品族)時使用抽象工廠模式是比較好的選擇。那什么是多個產品線呢?拿我們在簡單工廠模式和工廠方法模式中學習的生產電腦的例子來舉例,我們一直都是生產聯想和惠普的電腦,但是電腦也有多個產品線:臺式機、筆記本和平
閱讀全文
摘要:
一、簡介: 做Android開發的相信都對webview不會陌生,而且也對系統自帶的webview本身存在的問題也是怨念很久了,一方面是本身對js的支持不是很好另外一方面就是經常被人詬病的內存泄露了,網上也有很多解析和方案但至少在我的項目中是沒任何效果的,今天我就分享一下我最終是怎么解決這些問題的(
閱讀全文
摘要:
今天逛脈脈,看見匿名區有人說java中把對做置null,這種做法很菜,不能加速垃圾回收,但是我看到就覺得呵呵了,我是覺得可以加速置null對象回收的。 測試的過程中,費勁的是要指定一個合理的測試堆大小,然而針對的JDK不同版本不同,指定的堆大小也不同,測試出的效果有些不同,報的內存堆棧錯誤信息不一致
閱讀全文
摘要:
ProGuard介紹 ProGuard是一個Java類文件壓縮器,優化器,混淆器和預先文件驗證器。 壓縮步驟檢測和刪除未使用的類,字段,方法和屬性。 優化步驟分析和優化方法的字節碼。 混淆步驟使用短無意義的名稱重命名剩余的類,字段和方法。 這些步驟使代碼更小,更高效,更難以進行逆向工程。 最終的預驗
閱讀全文
摘要:
隊列的基本理解 在說隊列之前說兩個名詞:Task是任務,TaskExecutor是任務執行器 而我們今天要說的隊列就完全符合某機構這個情況,隊列在有Task進來的時候TaskExecutor就立刻開始執行Task,當沒有Task的時候TaskExecutor就處于一個阻塞狀態,當有很多Task的時候
閱讀全文
摘要:
渲染性能 Android UI的工作分兩階段: 1.在UI線程Record View#draw 2.在RenderThread線程DrawFrame(RenderThread:使用GPU資源的線程) 第一階段隨著View的invalidated在draw(Canvas)中進行 第二階段native
閱讀全文
摘要:
主要思想是這樣的:將倒計時CountDownTimer放在Service里面進行,每過一秒就一條發廣播,在主Activity里注冊廣播,收到廣播后更新UI。 一、寫一個類CodeTimerService繼承自Service,重寫onStartCommand(...)方法。 先了解一下CountDow
閱讀全文
摘要:
用戶在調用層(Activity或Service中),發起一個網絡請求,該請求肯定包含url,請求參數(requestParameter),以及我們需要給調用層提供一個請求成功或失敗以后回調監聽的接口dataListener(這一點與Volley類似)。 在框架層,每一次用戶請求可以看做一個Http任
閱讀全文
摘要:
源碼分析 這是什么玩應兒呢?其實就是一個輕量級的頁面,我們通常使用它來做預加載處理,來改善頁面加載速度和提高流暢性,ViewStub本身不會占用層級,它最終會被它指定的層級取代。 在一些場合取代android:visibility=”gone”的用法,因為被gone掉的布局不斷是會同時創建對象的。那
閱讀全文