Android知識大綱

Android知識大綱

Java垃圾回收機制

Java內存是如何劃分的绊汹,Java語言為什么要使用垃圾回收機制囤萤?

垃圾判定

1. 標記引用算法
2. 根搜索法

垃圾清掃

1. 標記-清除法    概念以及特點
2. 復制算法
3. 標記-整理法
4. 分代回收算法

有了垃圾回收機制浑此,Java還會出現(xiàn)內存泄露嗎猴鲫,如果說存在对人,Java有什么應對機制嗎?

Java的四種引用方式

  1. 強引用
  2. 軟引用
  3. 弱引用
  4. 虛引用
    軟引用拂共、弱引用配合引用隊列如何使用牺弄,使用的目的是什么?
    可參考:http://blog.csdn.net/u012152619/article/details/46981643
    <font color=red size=5>以上這么多關于Java垃圾回收和內存的東西宜狐,你在編寫代碼的時候有需要注意的地方嗎势告?</font>

java數(shù)據(jù)結構

數(shù)據(jù)結構相關的類:Collection、List抚恒、Set咱台、Map

__List:__ArraryList、LinkedList和Vector
__Set:__hashSet俭驮、LinkedSet和TreeSet
__Map:__HashTable回溺、HashMap、LinkedMap和TreeMap
內存存放特性混萝、數(shù)據(jù)增長特性和各自的適用場景
遍歷Iterator遗遵、ListIterator和Foreach
線程安全問題,Tree一類的紅黑樹概念
了解Collections和Arrays兩個輔助工具類的用法
HashMap/ArrayMap/SparseArray三個區(qū)別和使用場景
http://blog.csdn.net/u010687392/article/details/47809295

clone拷貝

多線程

線程用法

Thread、Runnable和Callable绳姨,以及各自的特點

線程的幾個狀態(tài)

創(chuàng)建登澜、就緒、運行飘庄、阻塞脑蠕、停止

線程池

為什么要使用線程池?

  1. 線程池常見的幾個類的用法:
    ThreadPoolExecutor、Executor谴仙,Executors迂求,ExecutorService,CompletionService晃跺,F(xiàn)uture揩局,Callable 等
  2. 線程池四個分類
    newCachedThreadPool、newFixedThreadPool掀虎、newScheduledThreadPool和SingleThreadExecutor
  3. 自定義線程池 ThreadPoolExecutor

線程池工作原理

核心線程數(shù)凌盯、等待隊列、處理策略等

線程同步

同步方式:synchronized和lock
同步相關方法:wait()/notify()/notifyAll() sleep()/join()/yield() await()/signal()/signalAll
如何使用烹玉,各自適用場景驰怎?

參考:http://wiki.jikexueyuan.com/project/java-concurrency/executor.html

設計模式

面向對象設計六大原則

優(yōu)化代碼的第一步——單一職責原則
讓程序更穩(wěn)定、更靈活——開閉原則
構建擴展性更好的系統(tǒng)——里氏替換原則
讓項目擁有變化的能力——依賴倒置原則
系統(tǒng)有更高的靈活性——接口隔離原則
更好的可擴展性——迪米特原則

參考:http://blog.csdn.net/bboyfeiyu/article/details/50103471

android適配問題

不同系統(tǒng)版本之前的適配 -- API變化

不同手機廠商之間的適配 -- 對Android原生系統(tǒng)進行了改造

屏幕適配 -- 尺寸單文(dp/sp/px)二打、布局layout和圖片資源

可參考:http://blog.csdn.net/qq_28758749/article/details/51297842

Handler機制

  1. 使用方法县忌, send/post兩種方式
  2. handler底層怎么從發(fā)送消息到接收消息的
  3. 理清楚Looper、Handler继效、MessageQueue和Message概念和關系
  4. HandlerThread是什么東東症杏,如何使用,和Handler有什么區(qū)別呢瑞信?
    參考:http://blog.csdn.net/jackzhouyu/article/details/49079699

Activity

  1. 正常執(zhí)行時鸳慈,生命周期是何變化?異常時和Activity重新展開時喧伞,注意方法的調用時機: onSaveInstance()、onRestoreInstance()绩郎、onWindowFocusChanged()和onConfigurationChanged()以及使用方法
  2. onStart()和onResume()潘鲫、 onPause()和onDestroy()這兩方法用處都很類似,Android為什么要這么設計呢肋杖?
  3. Activity的四種啟動方式standard溉仑、singleTop、singTask和singleInstance是什么状植?他們onNewIntent()方法的關系

參考:
(1) http://blog.csdn.net/woshimalingyi/article/details/50961380
(2) http://blog.csdn.net/jiangwei0910410003/article/details/16968881
(3) http://www.cnblogs.com/lijunamneg/archive/2013/03/26/2982461.html
(4)http://blog.csdn.net/mynameishuangshuai/article/details/51491074

Fragment

1. 什么是fragment浊竟?為什么要使用fragment?  
需要對比Activity才能更好的作出解答
2. fragment的生命周期津畸,并且和Activity的聯(lián)系振定?
3. fragmentManger和FragmentTransaction兩者用法,它的replace/add/remove/hide/show方法肉拓,以及添加到回退站和回退的用法
4. fragment和Activity的通信后频,以及何種方案保證降低他們的耦合性
以及fragment上踩過的一些坑
    a. 嵌套fragment時Duplicated id或者Tag
    b. replace之痛
    c. Fragment的public默認無參數(shù)構造方法
    原因:Fragment會被重新銷毀(Activity銷毀的時候它里面的Fragment就被銷毀了,可能因為內存不足,手機配置發(fā)生變化卑惜,橫豎屏切換)膏执。在重新創(chuàng)建的時候系統(tǒng)調用的是無參構造函數(shù)。
    d. getActivity()為空指針
    講解:http://blog.csdn.net/goodlixueyong/article/details/48715661
    f. frgament和viewpager配合使用露久,生命周期影響幾何更米,fragment如何感知自己已經(jīng)處于顯示狀態(tài),并且與Activity通信
    http://blog.csdn.net/tongcpp/article/details/41978751
參考:
(1)http://toughcoder.net/blog/2015/04/30/android-fragment-the-bad-parts/
(2)http://blog.csdn.net/lmj623565791/article/details/37970961

Service

1. 生命周期及兩種啟動方式
2. Service的線程關系和Thread毫痕,它屬于哪個線程和進程
3. Service和IntentService的區(qū)別

參考:
http://blog.csdn.net/xiao__gui/article/details/11579087
http://blog.csdn.net/huutu/article/details/40357481

android事件分發(fā)機制

1. Activity里面的組件發(fā)生點擊事件時征峦,事件是如何傳遞的?
2. view和viewgroup事件分發(fā)區(qū)別镇草,理解dispatchTouchEvent()眶痰、onInterceptTouchEvent、onTouchEvent梯啤、onTouch和onClick事件

<font color=red>public boolean dispatchTouchEvent(MotionEvent ev)</font>
用來進行事件的分發(fā)竖伯。如果事件能夠傳遞到當前View,此方法一定會被調用因宇,返回結果受當前View的onTouchEvent()和下級View的diapatchTouchEvent()方法的影響七婴,表示是否消耗當前事件

<font color=red>public boolean onInterceptTouchEvent(MotionEvent event)</font>
用來判斷是否攔截某個事件,如果當前View攔截了某個事件察滑,那么在同一個事件序列當中打厘,此方法不會被再次調用,返回結果表示是否攔截當前事件贺辰。
<font color=red>public boolean onTouchEvent(MotionEvent event)</font>
在dispatchTouchEvent()中調用户盯,用來處理點擊事件,返回結果表示是否消耗當前事件饲化,
如果不消耗莽鸭,則在同一個事件序列中,當前View無法再次接收事件

當子view的action_down事件不處理后吃靠,后續(xù)事件序列將不再傳遞給他
當子view除action_down外的事件不處理后硫眨,雖然后續(xù)事件也會收到,但是它的父組件卻無法處理
requestDisallowInterceptTouchEvent巢块,onInterceptTouchEvent兩個方法
參考:
https://segmentfault.com/a/1190000005268399

精通網(wǎng)絡通信機制礁阁;
對TCP、HTTP協(xié)議有豐富實踐經(jīng)驗族奢;
熟悉HTML姥闭、CSS、JS等web基礎知識越走,獨立或主導完成過大中型移動app經(jīng)驗者優(yōu)先泣栈;
深入研究過android系統(tǒng)機制和framework源碼,精通android上的app開發(fā)、調試南片、編譯掺涛、打包等流程;
有技術難題攻關經(jīng)驗疼进,在移動端app內存優(yōu)化薪缆、繪制效率優(yōu)化、IO優(yōu)化或數(shù)據(jù)庫伞广、電量等調優(yōu)方面有豐富的經(jīng)驗拣帽。

面試問題準備

干貨資源

https://juejin.im/entry/578d938079bc44005ff26aec

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末减拭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子区丑,更是在濱河造成了極大的恐慌拧粪,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沧侥,死亡現(xiàn)場離奇詭異可霎,居然都是意外死亡,警方通過查閱死者的電腦和手機宴杀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門癣朗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人旺罢,你說我怎么就攤上這事旷余。” “怎么了扁达?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵正卧,是天一觀的道長。 經(jīng)常有香客問我罩驻,道長,這世上最難降的妖魔是什么护赊? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任惠遏,我火速辦了婚禮,結果婚禮上骏啰,老公的妹妹穿的比我還像新娘节吮。我一直安慰自己,他們只是感情好判耕,可當我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布透绩。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪帚豪。 梳的紋絲不亂的頭發(fā)上碳竟,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天,我揣著相機與錄音狸臣,去河邊找鬼莹桅。 笑死,一個胖子當著我的面吹牛烛亦,可吹牛的內容都是我干的诈泼。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼煤禽,長吁一口氣:“原來是場噩夢啊……” “哼铐达!你這毒婦竟也來了?” 一聲冷哼從身側響起檬果,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤瓮孙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后汁汗,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體衷畦,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年知牌,在試婚紗的時候發(fā)現(xiàn)自己被綠了祈争。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡角寸,死狀恐怖菩混,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情扁藕,我是刑警寧澤沮峡,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站亿柑,受9級特大地震影響邢疙,放射性物質發(fā)生泄漏。R本人自食惡果不足惜望薄,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一疟游、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧痕支,春花似錦颁虐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽儒陨。三九已至,卻和暖如春笋籽,著一層夾襖步出監(jiān)牢的瞬間蹦漠,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工干签, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留津辩,地道東北人。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓容劳,卻偏偏與公主長得像喘沿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子竭贩,可洞房花燭夜當晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,304評論 25 707
  • 今天早會分享同事給我們看了一個關于成長的解說蚜印,成長,是一個將自己粉碎再重建的過程留量。我覺得窄赋,成長是一個擊敗自己并升級...
    青姑娘那些事閱讀 197評論 0 0
  • Dockerfile是一種文本格式的配置文件,利用它可以創(chuàng)建自定義的鏡像楼熄。也就是定制鏡像忆绰! 它類似于腳本文件,從上...
    如來自然閱讀 139評論 0 0
  • 詹姆斯在東部決賽前兩場的表現(xiàn),用逆天逆生長來形容完全不過分缕粹≈擅可是回到主場的第三場詹姆斯怎么了?攻的不堅決平斩,投的不過...
    一個特立獨行的視角閱讀 251評論 1 0