原创 Android系統核心機制之APP啓動的程序入口ActivityThread的簡單介紹

Android中爲什麼主線程不會因爲Looper.loop()裏的死循環阻塞? 標題是僞命題 參考資料 Android中爲什麼主線程不會因爲Looper.loop()裏的死循環卡死? 知乎 之前對這個概念一直處於比較模糊的狀態

原创 Java的四種引用類型總結

今天看了篇有關強引用軟引用弱引用虛引用的文章,總結一下心得:軟引用和弱引用都能夠實現緩存和避免內存泄露和溢出的問題,不同的是前者的生命週期比較長,後者的生命週期比較短,前者是在內存使用情況到了一定的閥值纔會被GC回收,而後者只要被GC線程

原创 CoordinatorLayout的使用如此簡單

曾在網上找了一些關於CoordinatorLayout的教程,大部分文章都是把CoordinatorLayout、AppbarLayout、CollapsingToolbarLayout 以及Toolbar等一起使用來介紹,這讓我不知不

原创 音視頻開發之本地播放、點播與直播的客戶端原理(沒有講解具體平臺的實現)。

以前做視頻播放器開發的時候,只知道請求服務器,然後服務器返回一個播放串。這樣視頻就播放了 其它的操作比如UI定製 通知的跟蹤等…..這些都是UI層面上的東西,壓根跟音視頻編解碼就沒啥關係!但是有的同學去面試

原创 記錄內存溢出泄露的幾種現象

1、static的使用。2、單例的使用。3、線程的使用。4、Handler的使用。這篇博客寫的不錯,我們在開發的時候要注意別犯與這篇文章內的Handler的錯誤使用方法。5、圖片的使用。6、資源未關閉內存泄露無外乎引用的無法釋放,比如環形

原创 音視頻開發之入門篇

本文整理自盧俊的演講,目標讀者是對音視頻開發感興趣但是又不知道如何下手的初學者們,希望對大家有所幫助。 1. 成長的煩惱 經常收到一些網友的來信或者留言,反饋如下這樣的困惑: “我是一名應屆畢業生,該如何快速地成長起來” “我只懂 C

原创 Android自定義控件,優化TextView性能。

Android的TextView控件的渲染效率是比較低的,並且有多個View以及一個View裏面顯示多個文本的話,UI性能是非常低的,比如下面這張圖片: 所以我自定義了一個KeyValueTextView,源碼如下: import

原创 坑人的Synchronized,請慎用!

爲什麼說坑人呢,因爲在同一個項目裏面遇到兩個坑了。1、其中的原因都是一樣的:一個類中有多個方法是同步的,線程A調用了其中一個同步方法,然後線程B在去嘗試調用其他的同步方法就會出現阻塞的問題。一般情況下阻塞一會是正常的,但是如果線程A裏面阻

原创 利用Android Monitor(dump java heap)分析內存泄露溢出問題,超詳細,包你懂。

1、首先來個內存泄露的例子。public class HandlerActivity extends BaseActivity { ActivityHandlerBinding mDataBinding; private