原创 Binder線程、Binder主線程、Client請求線程的概念與區別

Binder線程是執行Binder服務的載體,只對於服務端纔有意義,對請求端來說,是不需要考慮Binder線程的,但Android系統的處理機制其實大部分是互爲C/S的。比如APP與AMS進行交互的時候,都互爲對方的C與S,這裏先

原创 Activity的事件分發機制

MotionEvent的4種類型 事件類型 具體動作 MotionEvent.ACTION_DOWN 按下(所有事件的開始) MotionEvent.ACTION_UP 擡起 MotionEvent.ACTI

原创 客戶端HTTP請求優化實戰

轉自 https://zhuanlan.zhihu.com/p/31927387 一、引言 對每個APP來說,網絡請求必不可少,雖然有大把現成的框架能幫助我們輕鬆的完成這項工作,但是實際考究效果時,會發現經常有用戶反應請求很慢,頁

原创 系統服務與bindService等啓動的服務的區別

前言 服務可分爲系統服務與普通服務,系統服務一般是在系統啓動的時候,由SystemServer進程創建並註冊到ServiceManager中的。而普通服務一般是通過ActivityManagerService啓動的服務,或者說通過

原创 總結一下Android編碼時的一些技巧

文章目錄1.高效的返回一個帶泛型的空集合java2.判斷當前集合size是否爲空3.SharedPreferences清空Key值下的數據4.SharedPreferences清空文件數據5.git 修改.git ignore後生

原创 2019年10月份android面試的一些總結

突聞公司倒閉噩耗,彷彿是在夢中。。。也慶幸自己沒有被抓走。。。 5年老android一枚,目前入職了一家小公司,先度過這個難關,加油。 下面是一些面試中遇到的問題,總結一下,以備來年再戰。目標BAT,fighting! 也是時間問

原创 Java中Integer.parseInt 和 Integer.valueOf 區別

Integer.parseInt() 和 Integer.valueOf() 都是用來 將String轉換爲Int的,但是爲什麼Java會提供兩個這樣的方法呢,他們如果是同樣的操作,豈不是多此一舉? 我們來深挖Java源代碼一探究

原创 HashSet與HashMap 怎麼判斷集合元素重複

HashSet的底層是用HashMap來維護的,所以兩個問題可以理解爲一個問題。 先看HashSet的部分源碼 HashSet 類中的add()方法: //維護數據的HashMap private transient HashMa

原创 數據結構和C程序設計知識點

001:數的結點總數和度的關係 任一棵樹中,結點總數=度數*該度數對應的結點數+1 002:解決哈希表的衝突的開放地址法 H i ( key ) = ( H ( key )+ d i ) mod m ( i = 1,2,…… ,

原创 面試時你被問到做過Android哪些優化時該回答什麼

一、佈局優化: 1)儘量減少佈局文件的層級。層級少了,繪製的工作量也就少了,性能自然提高。 2)佈局重用 include 標籤和 merge標籤 3)按需加載:使用ViewStub實現佈局懶加載 二、繪製優化: 基於onDraw會

原创 Android大牛的博客連接

技術博客 郭霖: 郭霖CSDN博客 簡介:圈內人稱郭神,Android最好的入門書籍《第一行代碼》的作者。博文行文流暢,條理清晰,內容實用,適合讀完入門書籍之後閱讀,超高人氣博主。 任玉剛: 任玉剛CSDN博客 簡介:中科大碩士,

原创 Handler同步屏障機制的原理和使用場景

什麼是Handler的同步屏障 Handler中的Message可以分爲兩類:同步消息、異步消息。消息類型可以通過以下函數得知 //Message.java public boolean isAsynchronous() {

原创 Android Drawable 快速複製粘貼魔板

BitmapDrawable 例子 antialias:是否開啓圖片抗鋸齒功能。 dither:是否開啓抖動效果。 gravity:可以配置圖片的顯示位置,如果控件的寬高大於圖片的話,可以設置具體顯示的位置 tileMode:平

原创 Android RadioGroup動態添加RadioButton

import android.app.AppComponentFactory; import android.content.Context; import android.text.Html; import android.ut

原创 如何炫酷的解決Activity啓動黑白屏問題

先上圖。注意看底部,點擊圖標時會直接顯示icon,然後在加載SplashActivity的View。使用的機型是oneplus 5t ,系統是android9.0。 首先要說明的是無論是APP啓動,還是startActivity