原创 淺談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來完成的