原创 淺談BroadcastReceiver和EventBus
EventBus是一個發佈 / 訂閱的事件總線。簡單點說,就是兩人約定好怎麼通信,一人發佈消息,另外一個約定好的人立馬接收到你發的消息。EventBus就可以幫減少很多事,不管你在任何地方任何位置發佈一個事件,接收者都能立馬接
原创 實用的框架
1.CircularFillableLoaders github:https://github.com/lopspower/CircularFillableLoaders 2.Android資源混淆工具使用說明 https://gi
原创 Android系統中的進程管理:進程的創建
概述Android系統以Linux內核爲基礎,所以對於進程的管理自然離不開Linux本身提供的機制。例如:通過fork來創建進行通過信號量來管理進程通過proc文件系統來查詢和調整進程狀態 等對於Android來說,進程管理的主要內容包括
原创 Android性能優化總結
Android對於性能優化方面主要有一下幾方面理解:第一、頁面的繪製簡化頁面UI結構,複雜的UI佈局會導致大量View重疊,出現過度繪製的可能性比較大,要避免佈局嵌套過多,例如一般情況下,優先使用LinearLayout佈局。複用背景色,
原创 Android進程管理(1)
不用在意剩餘內存的大小.其實很多人都是把使用其他系統的習慣帶過來來了.安卓Android大多應用沒有退出的設計其實是有道理的,這和系統對進程的調度機制有關係.如果你知道Java,就能更清楚這機制了.其實和java的垃圾回收機制
原创 淺談Arraylist、LinkedList、Vector
第一、ArrayListArrayList:底層數據結構是數組,數組的物理地址是連續的,可以通過位置快速定位到具體元素的地址,所以改查效率高 但是如果是增加和刪除元素時,可能會涉及到新建數組,複製元素,移動元素等操作,比較耗時,所以增刪效
原创 Http、TCP/IP協議與Socket之間的區別
1、TCP/IP連接手機能夠使用聯網功能是因爲手機底層實現了TCP/IP協議,可以使手機終端通過無線網絡建立TCP連接。TCP協議可以對上層網絡提供接口,使上層網絡數據的傳輸建立在“無差別”的網絡之上。建立起一個TCP連接需要經過“三次握
原创 WebVuew性能優化之頁面加載速度優化
頁面加載速度優化影響頁面加載速度的因素有非常多,我們在對 WebView 加載一個網頁的過程進行調試發現,每次加載的過程中都會有較多的網絡請求,除了 web 頁面自身的 URL 請求,還會有 web 頁面外部引用的JS、CSS、字體、圖片
原创 JAVA面試試題
1、對象和實例的區別有一種對象只叫對象,有一種對象叫實例化對象(實例)。我們知道抽象類是不可以被實例化的,那它的對象就不能叫實例化對象,只能叫對象,如下:Type type = typeof(int);//Type是抽象類,不允許實例化,
原创 普通for循環和增強for循環的使用小結
for循環分爲兩種:第一種爲普通的for循環 這種for循環通常需要三個步驟即 for(初始表達式;條件表達式;遞增表達式)有時候遞增表達式也可以省去,一般是在使用Iterator迭代時(Iterator的hasNext方法判斷時,
原创 TTP中get與post的區別
瞭解歷史get和post是HTTP與服務器交互的方式, 說到方式,其實總共有四種:put,delete,post,get。 他們的作用分別是對服務器資源的增,刪,改,查。 所以,get是獲取數據,post是修改數據。但是,現在大家都不這麼
原创 JAVA模式的六大原則之開閉原則
一、開閉原則的定義 開閉原則明確的告訴我們:軟件實現應該對擴展開放,對修改關閉,其含義是說一個軟件實體應該通過擴展來實現變化,而不是通過修改已有的代碼來實現變化的。那什麼是軟件實體呢? 軟件實體可以指一個軟件模
原创 多進程Application被初始化多次問題
在Android中,如果有新進程創建,由於進程本身需要一個Application,可以用下面的方法區分是否應該進行初始化 private fun shouldInit(): Boolean { try { val
原创 Package manager has died
getPackageManger 是通過binder通信的,最大通信是1M,而且這個binder通信是系統整個的,也就是當前整個手機APP所有應用同一個時刻,或者同一個時間內 進行通信 超過了IM就會crash.而如果
原创 android避免decodeResource圖片時佔用太大的內存
儘量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource來設置一張大圖,因爲這些函數在完成decode後,最終都是通過java層的createBitmap來完成的