Java中的String類可以被繼承么哈打?
答:不能,因為它是一個final類格粪,同樣的還有Integer帐萎,F(xiàn)loat葛躏,Boolean,Byte芒率,Character偶芍,Long,Short等等材彪,也就是說,所有基本類型的包裝類都是final類显熏,無法被繼承或修改
如何安全的退出一個已經(jīng)開啟多個activity的APP
答:在Application中持有一個全局的集合(List),進而在其onCreate()方法添加到這個集合,最終遍歷所有的activcity并finish港谊。
ActivityCompat.finishAffinity(this);
簡單的概敘下Handler?
答:andriod提供了Handler 和 Looper 來滿足線程間的通信。Handler先進先出原則成福。Looper類用來管理特定線程內(nèi)對象之間的消息交換
1)Looper: 一個線程可以產(chǎn)生一個Looper對象内斯,由它來管理此線程里的MessageQueue(消息隊列)潭苞。
2)Handler: 你可以構(gòu)造Handler對象來與Looper溝通,以便push新消息到MessageQueue里;或者接收Looper從Message Queue取出)所送來的消息。
- Message Queue(消息隊列):用來存放線程放入的消息蹦骑。
4)線程:UIthread 通常就是main thread,而Android啟動程序時會替它建立一個MessageQueue琼锋。
文件的上傳篡悟?
答:使用HttpURLConnection得到輸入流艳悔,將文件的通過IO流的方式上傳到服務(wù)器。可使用第三方Xutils框架杨幼。
ListView的源碼和如何優(yōu)化Listview汉嗽?
答:根據(jù)ConvertView來判斷View的重用還是新建稳析,新建的話通過ViewHolder來存儲所有的控件并設(shè)置到View的Tag中有利于下次的復(fù)用邪码。
AIDL原理旧烧?
答:AIDL是一個縮寫掘剪,全稱是Android Interface Definition Language平委,也就是Android接口定義語言。
實現(xiàn)進程間通信夺谁,尤其是在涉及多進程并發(fā)情況下的進程間通信廉赔,我們可以通過AIDL來制定一些規(guī)則肉微,規(guī)定它們能進行哪些交流蜡塌。
通過接口的方式創(chuàng)建AIDL文件的后綴是 .aidl,而不是 .java。
創(chuàng)建一個類實現(xiàn)剛才那個aidl的接口烫止,通過預(yù)先定義的接口達到兩個進程內(nèi)部通信進程的目的颂郎,在Service中Aidl返回一個Binder對象。
Binder機制
Binder是Android的系統(tǒng)進程通許方式之一簡稱IPC
Binder使用Clinet->Server通訊方式阿趁,Binder框架定義的四個角色悍募,Server,Client,ServiceManager,以及Binder驅(qū)動,其中Server,Client,ServiceManager運行于用戶空間隅忿,驅(qū)動運行于內(nèi)核空間纷责,Binder驅(qū)動程序提供Dev/binder與用戶空間交互灾杰,Server,Client,ServiceManager,通過open和ioctl文件操作函數(shù)和Binder交互栏渺。
深入理解Binder機制
TCP和UDP的區(qū)別,tcp如何保證可靠的,丟包如何處理智末?
TCP面向連接,三次握手土辩,發(fā)送需要確定以鏈接狀態(tài)(如打電話)结洼,輯通信信道是全雙工的可靠信道
UDP無連接莫换,發(fā)送數(shù)據(jù)無需確定是否連接(如郵差)硼婿,則是不可靠信道
將文件分塊發(fā)送,接收端每收到一塊數(shù)據(jù)就發(fā)送一個收到確認(rèn)給發(fā)送方(包括收到的數(shù)據(jù)長度)
發(fā)送方在收到接收方發(fā)送的“收到確認(rèn)”后才接著發(fā)送下一塊數(shù)據(jù)醒第。唧取。。咆霜。
直到整個文件發(fā)送完畢戳寸。
每塊數(shù)據(jù)都加一個包頭,里面可以包含一些標(biāo)志信息萌焰,如:是否所有數(shù)據(jù)發(fā)送完畢(即最后一個包了)
三次握手簡單的說就是:(C:客戶端孔飒,S:服務(wù)端)
C:SYN到S 客戶端發(fā)送SYN(SEQ=1022)報文給服務(wù)器端,客戶端進入SYN_SEND狀態(tài)
S:如成功--返回給C(SYN+ACK)园细,回應(yīng)一個SYN (SEQ=2032)ACK(ACK=1022+1)報文惦积,服務(wù)器段進入SYN_RECV狀態(tài)。
C:如成功---返回給S(ACK) 客戶端收到服務(wù)器端的SYN報文猛频,回應(yīng)一個ACK(ACK=2032+1)報文狮崩,進入Established狀態(tài)蛛勉。
什么是三級緩存?三級緩存原理
答:網(wǎng)絡(luò)加載睦柴,不優(yōu)先加載诽凌,速度慢,浪費流量
本地緩存坦敌,次優(yōu)先加載侣诵,速度快
內(nèi)存緩存,優(yōu)先加載狱窘,速度最快
首次加載 Android App 時杜顺,肯定要通過網(wǎng)絡(luò)交互來獲取圖片,之后我們可以將圖片保存至本地SD卡和內(nèi)存中
之后運行 App 時蘸炸,優(yōu)先訪問內(nèi)存中的圖片緩存躬络,若內(nèi)存中沒有,則加載本地SD卡中的圖片搭儒,最后選擇訪問網(wǎng)絡(luò)穷当。
Service的兩種啟動方法,有什么區(qū)別 淹禾?
答:1.在Context中通過public boolean bindService(Intent service,ServiceConnection conn,int flags) 方法來進行Service與Context的關(guān)聯(lián)并啟動馁菜,并且Service的生命周期依附于Context(不求同時同分同秒生!但求同時同分同秒屎A宀怼火邓!)。
2.通過public ComponentName startService(Intent service)方法去啟動一個Service德撬,此時Service的生命周期與啟動它的Context無關(guān)铲咨。
View和SurfaceView的區(qū)別?
答:SurfaceView中采用了雙緩存技術(shù)蜓洪,在單獨的線程中更新界面
View在UI線程中更新界面
當(dāng)程序需要更新View上的圖像時纤勒,程序必須重繪View上顯示的整張圖片
新線程無法直接更新View組件
Android的進程優(yōu)先級
答:android的系統(tǒng)進程分為五個等級, Foreground Process(前臺進程), Visible Process(可見進程), Service Process(服務(wù)進程), Background Process(后臺進程), Empty Process(空進程)
自定義View相關(guān)知識,下拉刷新的實現(xiàn)原理隆檀?
答:【1】Header 通常有下拉箭頭摇天,文字,進度條等元素恐仑,根據(jù)下拉的距離來改變它的狀態(tài)泉坐,從而顯示不同的樣式
【2】Content 這部分是內(nèi)容區(qū)域,網(wǎng)上有很多例子都是直接在ListView里面添加Header裳仆,但這就有局限性腕让,因為好多情況下并不一定是用ListView來顯示數(shù)據(jù)。把要顯示內(nèi)容的View放置在一個容器中,如果想實現(xiàn)一個用ListView顯示數(shù)據(jù)的下拉刷新纯丸,需要創(chuàng)建一個ListView旋轉(zhuǎn)到容器中偏形。處理這個容器的事件(down,move觉鼻,up)俊扭,如果向下拉,則把整個布局向下滑動坠陈,從而把header顯示出來萨惑。
【3】Footer可以用來顯示向上拉的箭頭,自動加載更多的進度條等仇矾。
亦可以使用開源PullToRefreshView
在你項目中所用到的第三方庸蔼?
Volley xUtils okHttp(支持圖片上傳) ImageLoader RxJava Retrofix dataBing
Google推薦的圖片加載庫Glide介紹
目前Android在使用的Json解析框架主要有Jackson、Gson若未、FastJson朱嘴、org.json倾鲫;
源碼解析
使用 picasso 加載圖片粗合;使用 EventBus 同步不同頁面間對象狀態(tài)
UI框架優(yōu)化,增加RefreshFragment基類抽取
通過LeakCanary、TraceView等工具進行內(nèi)存檢測,優(yōu)化內(nèi)存的使用,構(gòu)建一套服務(wù)業(yè)務(wù)需求的線程池
熟練掌握okhttp乌昔,glide隙疚,greenDao等主流框架;
Android中原生HttpClient和HttpUrlConnection來處理網(wǎng)絡(luò)操作比較復(fù)雜磕道,需要我們處理很多操作:如果圖片的緩存和請求的調(diào)度供屉。
簡單的說下Retrofit的使用流程?
Retrofit2在項目中的完整使用流程:創(chuàng)建Bean類 --> 創(chuàng)建接口形式的http請求方法 --> 通過Retrofit.builder()創(chuàng)建接口對象并調(diào)用http方法請求網(wǎng)絡(luò)數(shù)據(jù) --> 在RxJava的Observable(被觀察者)中異步處理請求結(jié)果溺蕉!
Volley到底有哪些特點呢伶丐?
內(nèi)部封裝了異步線程,可直接在主線程中調(diào)用服務(wù)器端并處理返回結(jié)果疯特,可以取消請求容易擴展
缺點:大文件下載表現(xiàn)不好哗魂,只支持Http。
項目中有沒有見過內(nèi)存泄漏以及OOM漓雅?為什么會產(chǎn)生录别?怎么解決的?
內(nèi)存泄漏它是造成應(yīng)用程序OOM的主要原因之一
在android應(yīng)用開發(fā)中邻吞,當(dāng)一個對象已經(jīng)不需要再使用了组题,本該被回收時,而另外一個正在使用的對象持有它的引用從而導(dǎo)致它不能被回收抱冷,這就導(dǎo)致本該被回收的對象不能被回收而停留在堆內(nèi)存中崔列,內(nèi)存泄漏就產(chǎn)生了。
全局變量的濫使用旺遮,加載對象過大峻呕,相應(yīng)資源過多利职,來不及釋放,資源未關(guān)閉造成的內(nèi)存泄漏瘦癌。
在內(nèi)存引用上做些處理猪贪,常用的有軟引用、強化引用讯私、弱引用
在內(nèi)存中加載圖片時直接在內(nèi)存中作處理热押,如邊界壓縮
及時回收不用的對象如Bitmap,IO流斤寇。
Android系統(tǒng)的有哪些安全機制桶癣?
應(yīng)用程序簽名機制,權(quán)限申明機制娘锁,訪問控制機制牙寞,進程通訊機制,內(nèi)存管理機制莫秆。
Android-Service和Thread的區(qū)別间雀?
service是android四大組件之一,沒有任何界面镊屎,它不是一個線程惹挟,一般在后臺默默運行。有自己的生命周期缝驳。有本地service和遠程service连锯,本地service一般有2中啟動方式,startService和bindservice. 遠程service就是所謂的AIDL,實現(xiàn)跨進程調(diào)用.
thread是java里的一個線程概念用狱,跟service是完全不同的运怖。1中說的service特點,thread在android中大多沒有夏伊。尤其是生命周期和跨進程調(diào)用摇展,thread是沒有的。
Android圖片緩存之初識Glide
MarsDaemon實現(xiàn)安卓APP進程常駐筆記
Asset目錄與res目錄的區(qū)別
ANR問題砸狞,force close問題捻勉,activity,service刀森,broadcast各自超過多少秒報ANR
Activity啟動模式踱启,intent匹配規(guī)則
Android反編譯
JNI和native方法
Android系統(tǒng)的有哪些安全機制
Android新特性有哪些(5.0 6.0 7.0)
Dalvik和ART區(qū)別
Android屏幕適配有哪些方法
View事件體系棉安,滑動沖突
View繪制原理疮丛,性能問題(view繪制間隔16ms踱阿,60fps),measure要门,layout,draw三大過程
如何避免overdraw
Android動畫分類和各自特點
View和SurfaceView的區(qū)別
APK瘦身的辦法
Android如何獲取Crash信息
ANR日志分析
Android動態(tài)加載冠蒋,如何解決方法數(shù)越界
Android怎么加速啟動Activity
Android內(nèi)存泄漏問題羽圃,內(nèi)存泄漏分析工具
Android內(nèi)存溢出問題,圖片的三級緩存
Android系統(tǒng)開機過程
Zygote和System進程的啟動過程
Activity的啟動過程
Android的消息機制抖剿,Handler原理
AsyncTask源碼朽寞,優(yōu)缺點
HandlerThread和IntentService的原理和特點
AIDL原理
Binder機制原理
ActivityManagerService
一個如何維持一個長連接
如何實現(xiàn)進程保活
Binder里面引用計數(shù)的原理
Binder底層為什么用紅黑樹斩郎,紅黑樹的原理知道嗎
Retrofit的原理脑融,為什么不用volley
為什么選用Glide,原理缩宜?
LruCache的原理
Android系統(tǒng)框架
handler和asyncTast的區(qū)別肘迎,然后讓我自己設(shè)計線程池怎么做
Fragment好處,碰到過什么bug锻煌,怎么解決的
為什么選用Realm妓布,原理是什么
如何設(shè)計一個網(wǎng)絡(luò)加載框架
Android四大組件的理解(這個扯了十多分鐘)
ContentProvider的啟動過程
Activity的四種啟動模式,用過哪一種炼幔,為什么要用
Service和InentService的區(qū)別
View的事件分發(fā)和繪制原理
如何解決滑動沖突
.接著問了是否用過 volley秋茫,果斷沒有史简,說用過Retrofit乃秀,畢竟現(xiàn)在都是MVP+Retrofit+RXJava,然后就讓講下MVP
多進程通信的方式(這個就比較模式化了圆兵,面試官也知道基本用不上)
廣播的使用
Handler機制跺讯,以及具體的使用情況
討論了一下各個框架的使用
AIDL,廣播的種類
.如何解決app卡頓的問題殉农,用到哪些工具
view的繪制流程
多線程和handler結(jié)合使用要注意什么 (我沒get到他的點刀脏,他想要的答案是當(dāng)activity隱藏或者銷毀的時候要注意handler的任務(wù)取消之類的)
四大組件是在主線程運行的嗎
sqlite的相關(guān)的
下載大文件要注意的事情(防止OOM)
Android的啟動流程、四大組件超凳、listview的運用于優(yōu)化愈污、MVP、兩個activity怎么傳輸數(shù)據(jù)轮傍,intent是怎么實現(xiàn)傳輸數(shù)據(jù)的暂雹,鬧鐘怎么實現(xiàn)
fragment,該怎么用创夜,比如實現(xiàn)類似微信的那種滑動杭跪,講了一下fragment的滑動以及底部狀態(tài)的切換。之后又問了怎么保存view的數(shù)據(jù),當(dāng)時以為就是回調(diào)生命周期的方法時保存數(shù)據(jù)涧尿,面試官就給我講了一下現(xiàn)在常用了的將頂層的view作為變量然后傳遞引用系奉,之后切換回來的時候直接在oncreateview里面進行判斷即可。
Activity與Fragment的生命周期姑廉。
Acitivty的四中啟動模式與特點缺亮。
Activity緩存方法。
Service的生命周期桥言,兩種啟動方法瞬内,有什么區(qū)別。
怎么保證service不被殺死限书。
廣播的兩種注冊方法虫蝶,有什么區(qū)別。
Intent的使用方法倦西,可以傳遞哪些數(shù)據(jù)類型能真。
ContentProvider使用方法。
Thread扰柠、AsycTask粉铐、IntentService的使用場景與特點。
五種布局:FrameLayout卤档、LinearLayout蝙泼、AbsoluteLayout、RelativeLayout劝枣、TableLayout各自特點及繪制效率對比汤踏。
Android的數(shù)據(jù)存儲形式。
Sqlite的基本操作舔腾。
Android中的MVC模式溪胶。
Merge、ViewStub的作用稳诚。
Json有什么優(yōu)劣勢哗脖。
動畫有哪兩類,各有什么特點扳还?
Handler才避、Loop消息隊列模型,各部分的作用氨距。
怎樣退出終止App桑逝。
Asset目錄與res目錄的區(qū)別。
Android怎么加速啟動Activity衔蹲。
Android內(nèi)存優(yōu)化方法:ListView優(yōu)化肢娘,及時關(guān)閉資源呈础,圖片緩存等等。
Android中弱引用與軟引用的應(yīng)用場景橱健。
Bitmap的四中屬性而钞,與每種屬性隊形的大小。
View與View Group分類拘荡。自定義View過程:onMeasure()臼节、onLayout()、onDraw()珊皿。
Touch事件分發(fā)機制网缝。
Android長連接,怎么處理心跳機制蟋定。
Zygote的啟動過程粉臊。
Android IPC:Binder原理。
你用過什么框架驶兜,是否看過源碼扼仲,是否知道底層原理。
進程有哪些通信方式
ListView優(yōu)化方案
service和線程的關(guān)系
.looper是線程級別還是進程級別
activity1啟動activity2的過程抄淑,是否可以在新的進程里面屠凶,如果在新的進程里面流程有什么不同。啟動按返回系統(tǒng)的調(diào)度肆资。
廣播的注冊方式矗愧,信息是保存在哪里,發(fā)送廣播是如何回調(diào)廣播接收者郑原。
app安裝過程唉韭,每次開機是否會重新安裝所有的app
Android系統(tǒng)為系統(tǒng)安全性做什么事情
zygote和systemservice的關(guān)系
為什么zygote死掉后會重新啟動
界面的繪制過程
開機畫面有幾個,分別是什么時候顯示和暫停
activity四種啟動模式
有沒有使用過Android的開源庫颤专,或者開源控件
啟動一個應(yīng)用的流程
打開一個activity的過程
設(shè)計一個Android的下載模塊
項目點為什么要用view不用fragment纽哥?同樣fragment可以解決緩存(用了view钠乏,并且設(shè)了map作為緩存栖秕,為了模擬activity棧重制了新的棧來實現(xiàn)相同的回退功能,需要處理連續(xù)點擊和多次點擊的問題晓避,還需要解決連續(xù)點view簇捍,緩存增大而oom)
用了什么設(shè)計模式?為什么要這么用俏拱?(舉例了觀察者+工廠)
談一下Collection包:hashmap底層實現(xiàn)暑塑,用了什么方法解決hash沖突(基于jdk版本),具體是如何實現(xiàn)(jdk1.5鏈表頭插還是尾插)锅必,為什么不安全事格?如何變得安全(concurrent包下集合類)惕艳,concurrentHashmap實現(xiàn)原理是?
Executor框架說說你的理解驹愚?
結(jié)束一條Thread有什么方法远搪?interrupt底層實現(xiàn)有看過嗎?線程的狀態(tài)是怎么樣的逢捺?如果給你實現(xiàn)會怎么樣做谁鳍?
Io和nio有沒有了解?
現(xiàn)在需要在四大組件中傳數(shù)據(jù)劫瞳?如何傳倘潜,方法有哪些(需要自己再具體說什么情況)?
緩存算法除了lru還認(rèn)識哪種志于?
Java中有內(nèi)存泄露嗎涮因?是怎么樣的情景?為什么不用循環(huán)計數(shù)伺绽?
ANR產(chǎn)生原因蕊退?怎么定位?
ContextImpl的源碼使用的設(shè)計模式憔恳?為什么你認(rèn)為其中有外觀瓤荔?
在一個app中,只有在一張activity钥组,所有功能業(yè)務(wù)邏輯在里面實現(xiàn)输硝,現(xiàn)在報ANR,你會怎么做程梦?(代碼層面:耗時操作(UI点把、網(wǎng)絡(luò)、數(shù)據(jù)庫)屿附,工具層面:trace和crashHandle)
Android中ClassLoader和java中有什么關(guān)系和區(qū)別
用過什么開源郎逃,舉一個例子?(volley)
Activity生命周期挺份?情景:現(xiàn)在在一張act1點了新的act2褒翰,周期如何?
Act的launchMode匀泊,有沒有結(jié)合項目用過(自己的程序鎖和微信的PC端登陸對比优训,不過我現(xiàn)在又發(fā)現(xiàn),應(yīng)該大約估計可能是動態(tài)加載的一個缺陷各聘,如果有找到相關(guān)信息揣非,請務(wù)必跟我說。具體問題就是躲因,當(dāng)在PC端登錄時早敬,Android終端的微信會跳出忌傻,即使wechat的task不是在fore,當(dāng)按下確認(rèn)搞监,返回的是wechat芯勘,而不是自己先前的app)
View的繪制原理,有沒有用canvas自己畫過ui腺逛?
動態(tài)加載主要問題
插件化
Assetmanager獲取資源原理和資源獲取原理
項目Oom異常解決方案+用戶體驗優(yōu)化方案
Touch傳遞機制+listview滑動沖突
Volley底層實現(xiàn)
為什么不能用volley請求大數(shù)據(jù)
Volley底層實現(xiàn)+設(shè)計模式理解
Imageloader緩存策略
項目如何解決oom荷愕?響應(yīng)速度是怎么優(yōu)化?電量消耗如何優(yōu)化棍矛?
描述一下Aidl和android ipc安疗?(binder機制沒跟他講得很深)
屏幕適配使用的方案?有沒有輔助的工具幫助够委?(hyviewer)
如何分析內(nèi)存泄露荐类?(代碼+工具traceview+mat)
那ANR呢?(我忘記了trace)
View樹繪制茁帽?如何優(yōu)化布局玉罐?
事件傳遞原理?
uil的框架如何設(shè)計潘拨?有沒有用過glide吊输?(結(jié)合了fresco的分析)
Volley和okhttp底層實現(xiàn)(也講了okio),為什么說okhttp高效铁追?
Listview的優(yōu)化(同一布局季蚂,左為bm,右為text)琅束?
Apk瘦身可以關(guān)注什么點扭屁?(這里忘記了說so庫,然而他也不會)
講一下動態(tài)加載技術(shù)點涩禀?
適配優(yōu)化屏幕適配接觸到什么方法料滥?
Binder機制(只深入到framework)
View樹繪制+事件分發(fā)
Contextimpl源碼,幾種context的區(qū)別
如何實現(xiàn)通訊艾船?Binder機制
屏幕適配接觸到什么方法葵腹?
java內(nèi)存泄露是怎么樣的?(本質(zhì)+handler例子)
Handler機制丽声?
情景題礁蔗,把handler設(shè)static,里面需要對一個view更新雁社,會不會內(nèi)存泄露?(可達性分析)
UI接觸得多嗎晒骇?有沒有用過canvas畫過圖霉撵?
在項目中為什么要用動態(tài)加載磺浙?最大的問題是什么?怎么解決資源管理問題
Volley底層實現(xiàn)徒坡?(okhttp沒問)
自己寫的圖片加載工具類談一下撕氧?(結(jié)合uil談了一下)
描述下Aidl?覺得aidl有什么缺陷
JNI的使用喇完。
Activity啟動模式
兩個應(yīng)用能使用同一個任務(wù)棧么伦泥?
Binder機制
Volley源碼的實現(xiàn)
大圖加載
Http && Https
常用的加密算法,對稱加密和非對稱加密
Android里的序列化
Android里的內(nèi)存泄漏
Android里的設(shè)計模式
兩個應(yīng)用間Binder通信的原理
OkHttp如何對鏈接進行復(fù)用
如何設(shè)計鎖
內(nèi)存泄漏如何發(fā)現(xiàn)(用什么工具)
Handler+Thread機制锦溪、
View繪制過程不脯、
Activity的啟動過程
什么時候會發(fā)生SOF問題
有用過什么框架,看過他們的源碼沒刻诊?
平時有用過什么開源項目防楷?
AnsycTask的原理?(我的簡歷里提到過AnsycTask)
在紙上寫了個Activity则涯,然后在類里面定義了一個Handler复局,問我這個會有警告,怎么解決粟判?--static亿昏、軟引用
Service的保活
Handler機制档礁,Handler除了線程通信還有什么作用龙优,這個我說通知吧,因為Android是消息驅(qū)動的事秀,不是特別明白面試官要問哪點彤断,難道是延時?
Activity的啟動模式易迹,每種啟動模式的使用場景宰衙,singletop中回調(diào)onNewIntent和finish掉之后onCreate()有什么不同?睹欲,這個4種的使用場景中供炼,我singletop回答不是特別好,應(yīng)該是那種頻繁接受消息的activity需要使用
Fragment的生命周期窘疮,棧管理袋哼,和commit()類似的方法還有哪個,commit類似的那個之前真沒注意闸衫,應(yīng)該是commitAllowingStateLoss()涛贯,區(qū)別是是否能在activity保存之后調(diào)用
實現(xiàn)一個文件夾列表,面試官要求5000個文件的時候才從ViewGroup轉(zhuǎn)到ListView
ART和Dalvik的區(qū)別
批量插入50條聯(lián)系人蔚出,比較高效的方法弟翘,ContentProvider是否了解原理
啟動一個APP的流程
android學(xué)了多久虫腋?廣播分為幾種?實現(xiàn)原理稀余,工作原理悦冀,廣播接收器有幾種?
ipc的方式
AIDL怎么用睛琳?
android四大組件
broadcast機制
thread.wait()與thread.sleep()區(qū)別
okhttp原理
線程池機制
androird進程間通信方式
事件分發(fā)機制
view的繪制流程
MVP的介紹
說了下Android事件的分發(fā)機制
onSaveInstanceState和onRestoreInstanceState調(diào)用的過程和時機盒蟆,onNewIntent方法
fragment的生命周期,和Activity如何進行通信
Android的事件分發(fā)機制师骗,ACTION_DOWN和后續(xù)事件如何消耗
Activity的啟動方式
View的繪制流程历等,MeasureSpec如何工作,父的MeasureSpec和自己的LayoutParams
廣播的兩種注冊方式
數(shù)據(jù)庫如何升級(懵逼)
Handler Looper的使用方式丧凤,實現(xiàn)機制募闲,設(shè)計的原因
HandlerThread有沒有了解(很神奇的我完全忘了當(dāng)時是怎么答的了)
ThreadLocal是干嘛的,使用的地方
Sqlite的一些問題
Activity A調(diào)用Activity B時愿待,A調(diào)用什么函數(shù)(onPause)
onSaveInstanceState和onRestoreInstanceState又問了一次
JNI的參數(shù)ENV參數(shù)浩螺。。仍侥。
JNI工作時要出,java 層的類如何找到C/C++層的類(懵)
AIDL的工作流程
Service與Thread區(qū)別,這個問題應(yīng)該是必問的了农渊,一定要知道清楚患蹂。
SQLite能否并發(fā)讀取或者寫入,自己只記得不能并發(fā)寫砸紊,可以并發(fā)讀传于,但是原因不清楚。
Activity與Service的通信問題醉顽,這里要對Binder機制和AIDL比較了解沼溜,因為自己沒在項目中用過,所以回答的不是很好游添。這個還可以通Broadcast進行通信系草。
畫出Activity與Fragment生命周期
activity生命周期,啟動模式唆涝,service在哪個線程找都,service防殺死
ViewPager如何判斷左滑右滑
activity的啟動模式及在你項目里的應(yīng)用
View事件分發(fā)機制
view事件沖突的處理
android7.0的虛擬機的優(yōu)化(什么即時編譯)
啟動一個應(yīng)用的流程(從點擊桌面的icon開始)
sqlite如何批量插入大量數(shù)據(jù),如何提高效率(放到一個事務(wù)里)
fragment 和activity之間如何選擇(說出自己的理解)
android6.0 的動態(tài)權(quán)限(聊項目時扯上去的)
View的繪制過程
當(dāng)時談到使用到了開源框架xtuil中的dbxutil和httptuil廊酣,然后讓分析這倆個模塊源碼能耻;其中詳細問了httputil實現(xiàn)原理(主要是線程池,封裝的是httpclient) 使用到了slidingmenu_library開源控件,讓分析這個開源框架的源碼嚎京;
說說你做過最復(fù)雜的控件
animation 和animator的區(qū)別
說說推送 嗡贺,扯到長連接隐解,心跳包鞍帝,直接被面試官打斷,這個我們都知道煞茫,說說保持一個長連接很簡單帕涌,為什么長連接會帶來很多麻煩,還提示從耗電量续徽,微信分析
項目使用開源框架的源碼分析討論 蚓曼,主要還是集中在httputil源碼實現(xiàn)、討論了線程池設(shè)計钦扭,阻塞隊列纫版; 由于httputil封裝了httpclient,然后讓比較 httpclient和httpurlclient區(qū)別客情; 扯到了http協(xié)議其弊,問了http與https區(qū)別,(當(dāng)時我在分析直接被打斷膀斋,“這個我們都知道梭伐,簡介概括”,然后我我直接說https=http+ssl+加密算法)仰担; 加密算法是對稱還是非對稱的糊识,,商量秘鑰的過程是對稱還是非對稱
android消息處理機制 摔蓝,handler+loop分析赂苗; loop線程與普通線程區(qū)別; asynctask源碼分析(這里有個線程池幾個關(guān)鍵參數(shù)5,128贮尉,使用的阻塞隊列拌滋,補充講了asynctask缺陷) ;如何改進asynctask造成的內(nèi)存泄露的問題绘盟,從而延伸到 jvm虛擬機四種引用
說說androi 使用卡頓是什么造成的鸠真,給出優(yōu)化 ,主要回答了ui overdraw避免龄毡,<include>標(biāo)簽吠卷,<viewstub>標(biāo)簽,<merge>標(biāo)簽使用沦零,hierarchy viewer工具的使用祭隔; 面試官追問:再從底層分析;(其實就是 16ms和60fps的追求了) ;再結(jié)合GPU操作分析一下UI過程疾渴; 然后說到了大圖加載問題千贯,提到UIL框架,讓分析內(nèi)部源碼(我主要從uil的緩存策略和線程池機制分析)
忽然扯到并發(fā)搞坝,讓分析concurrenthashmap搔谴,答了分段鎖仍不滿意,要求再分析一下size操作是如何做的
從listview優(yōu)化談到recyclerview桩撮,深入分析一下recyclerview特點 敦第,然后引申到瀑布流如何實現(xiàn),不使用recyclerview如何實現(xiàn)瀑布流店量。
屬性動畫
touch事件分發(fā)機制
android開機過程(主要討論了zygote)
讓你設(shè)計一個游戲人物芜果,如何設(shè)計 ,主要講了抽象類+接口+mvc和mvp模式
Android中的幾種Context什么區(qū)別融师?這個問題我回答的不好右钾,簡單說了一下生命周期和Context的繼承關(guān)系,以及注意事項彈對話框不能使用applicatuion的上下文
Android中的內(nèi)存泄露遇到過沒旱爆?我講了Handler持有Activity泄露以及google建議的嵌套類舀射、弱引用的解決方案、Drawable的setCallback疼鸟,耗時的線程可能會持有Activity后控,Bitmap調(diào)用recycle,因為以前bitmap在native分配空镜,所以要調(diào)用recycle釋放浩淘,現(xiàn)在不用了因為在堆分配,由GC回收吴攒,他問我是幾點幾版本開始的张抄,我說是3.0版本。
接著問我bitmap能否復(fù)用洼怔?這個我沒弄懂意思署惯,就回答不知道,最后查了一下镣隶,也是3.0以后的有個Option的inbitmap字段可以復(fù)用
平時遇到過OOM沒极谊?遇到過,主要是圖片加載很常見安岂,我講了BitmapFactory的解析Options的in...bound參數(shù)先讀取圖片信息進行必要的縮放轻猖,還有緩存,講了DiskLruCache域那、LruCache緩存策略咙边,以及可以加入軟引用,講了底層的LinkedHashMap實現(xiàn)。
用過外觀模式败许?(表示沒聽過)這是Android中的知識嗎王带?面試官告訴我,是一種設(shè)計模式市殷,我說愕撰,哦香伴,沒有不翩,我知道的有單例模式、工廠模式、代理模式甥桂、觀察者模式、裝飾者模式邮旷、迭代器模式黄选。然后讓我講一下代理模式,我就大概說了一下婶肩,然后說在Android中使用AIDL產(chǎn)生的的代碼中當(dāng)查不到本地的Binder時asInterface返回的就是一個代理對象办陷,然后面試官說,那就是你使用過bindService調(diào)用過Service了律歼?恩民镜。
FrameWork層看過那些源碼?Java源碼呢险毁?講了一下看過的框架層源碼和java集合制圈,沒有具體講。
自定義控件做過哪些畔况,需要注意什么鲸鹦?處理wrap_content的情況,ondraw不能耗時跷跪,刷新率16ms等馋嗜,然后讓我講了一下圓角矩形的圖片控件怎么做,降到了畫筆的xferm...方法進行圖面交疊吵瞻。
還問到我Android動態(tài)加載了解不葛菇?我沒用過,但之前看到過通過DexClassLoader使用接口實現(xiàn)的一種插件形式
draw和onDraw方法區(qū)別橡羞。
view和viewGroup區(qū)別眯停。
內(nèi)存溢出處理。
Activity能運行在別的進程中嗎尉姨?
內(nèi)存泄漏庵朝。
Bitmap的recycle方法執(zhí)行后會立即回收內(nèi)存嗎?
進程間通信的方法。
Activity中如何調(diào)用另一個進程Service里的方法九府?
AIDL的方式能訪問另一個進程Service里靜態(tài)變量嗎椎瘟?
Activity的四種啟動模式。
有用過什么框架侄旬?
知道Picasso的緩存機制嗎肺蔚?
ListView的優(yōu)化。
有木有在項目中用到什么設(shè)計模式儡羔?
更新UI用的什么機制宣羊?(最后一個問題沒聽懂問的是什么,追問了面試官汰蜘,面試官說了什么上層調(diào)用底層仇冯,底層再調(diào)用上層......還是沒聽懂,就說網(wǎng)絡(luò)請求用的框架族操,在回調(diào)接口中更新UI)
在項目中有沒有用到圖片加載庫苛坚?網(wǎng)絡(luò)加載庫?
問我JAVA哪些先進的東西給你在Android開發(fā)帶來方便色难?我說JSON庫泼舱。知道幾種JSON庫,有什么區(qū)別枷莉?
跨線程通信 主要涉及LooperMessageHandler以及MessageQueue
說一下自定義View需要注意哪些細節(jié) 主要說了一下View繪制的三大過程onDraw()不要做耗時操作 不要創(chuàng)建新對象 以及 怎么處理View的觸摸事件
View的事件沖突的解決辦法 ps:重寫dispatchEvent()或者touch()方法
講一下listView的優(yōu)化方法
講一下RecycleView與listview的區(qū)別
view的繪制過程
Activity的啟動模式
跨線程通信
夸進程通信 主要是Android的AIDL
如何解析json數(shù)據(jù)和xml
自定義view的幾個步驟 怎么刷新view ps:onLayout(); onMeasrue();onDraw();
RecycleView的優(yōu)化
幾種context的區(qū)別
看過什么源碼沒有
講一下binder類
Runnable運行在哪個線程里面 ps:開啟一個子線程的唯一方法就是new Thread().start();
HashMap和HashTable的區(qū)別
raw和assets文件夾的區(qū)別
activity關(guān)閉后尚未運行完畢的thread會怎么樣 ps:會變成空進程線程娇昙,優(yōu)先級最低 很容易被終止回收
mainfest文件的合并規(guī)則
跨線程通信
講了其中一個項目是怎么實現(xiàn)的 問jsoup怎么拼 = =
用過哪些開源庫 講一下他的架構(gòu)是怎樣的
圖片三級緩存 內(nèi)存緩存滿了怎么辦 ps:優(yōu)先級隊列 滿了后根據(jù)優(yōu)先級主動刪除一部分圖片 根據(jù)LRU算法確定優(yōu)先級
講一下JNI開發(fā)的過程 java怎么找到c函數(shù) ps:JNINativeMethod保存函數(shù)對應(yīng)關(guān)系
activity的四中啟動模式
service的生命周期
項目中用JNI做什么 為什么要用他呢
什么是OAuth協(xié)議 做什么的
四大組件,詳細說
handler機制(深入源碼)
CotentProvider的權(quán)限問題笤妙,就是怎么樣使得數(shù)據(jù)對外有選擇性的提供和使用
Android的存儲方式
Handler冒掌、Looper、MessageQueue
AsyncTask 為什么java已經(jīng)有線程池的實現(xiàn)了危喉,還要繼續(xù)使用AsyncTask宋渔,AsyncTask相對于java自帶的線程池的好處
onTouch事件的處理機制
說一下MVC以及其在Android中的應(yīng)用
說一下OOM以及你怎么解決的
了解Android的Framework么
說一下一個Android APP從點擊打開開始,是怎樣展示在用戶面前的(Zygote辜限、Ams皇拣、Wms等)
viewpager里面只能嵌套view嗎 可不可以嵌套Activity
假如viewpager里面的每一頁都有有很大數(shù)據(jù)量的內(nèi)容,那么在快速的左右滑動時薄嫡,如果出現(xiàn)了內(nèi)存被回收的情況氧急,如何處理 假如出現(xiàn)了OOM,怎么處理
同上情況毫深,使用Fragment吩坝,又當(dāng)如何?與viewpager有什么區(qū)別
ExpandableListView的Adapter怎么寫
在ListView的每個item中如果可能出現(xiàn)的view都不一樣哑蔫,如何處理钉寝?動態(tài)獲取view種類數(shù)量的話是不是就不能使用viewHolder進行優(yōu)化弧呐?固定顯示view如果不存在該種view就不顯示的方法是否太耗內(nèi)存
ListView的Adapter的getView具體是什么機制?
Activity之間傳遞大量的數(shù)據(jù)用什么方法 Binder Bundle不夠大 Socket 在同一應(yīng)用中沒必要使用 共享內(nèi)存 static變量——同一應(yīng)用中static變量如何控制嵌纲,會不會并發(fā)出問題俘枫,如果Activity由于內(nèi)存不足被kill掉,再重啟的時候static變量的值還可靠嗎:設(shè)置專門的訪問類逮走,進行讀寫控制鸠蚪,以及Activity重啟后的初始化工作。
SQLite在使用時 假如ActivityA是用于修改SQLite师溅,ActivityBCDEF茅信。。墓臭。是用來展示SQLite的內(nèi)容蘸鲸,如何在修改SQLite的同時使得BCDEF...都立刻獲得最新的數(shù)據(jù)?SQLite有沒有類似于ContentObserver的這么一種監(jiān)視類可以監(jiān)聽到SQLite內(nèi)容的改變起便?如果廣播通知所有類棚贾,那么廣播可以攜帶多大的數(shù)據(jù)?
假設(shè)把一個ActivityB向右滑動可以回到上一個ActivityA榆综,B漸漸透明,A漸漸清晰铸史,要怎么編寫頁面鼻疮?說說你對android:theme的理解,說說你對alpha值的理解
ListView在數(shù)據(jù)量很大圖片很多的情況下怎么優(yōu)化琳轿?假如一個圖片判沟,輕輕的向上滑動一丟丟,那么需要重繪嗎崭篡?(什么鬼挪哄。。琉闪。)
詳細展開說一下所有LaunchMode的應(yīng)用場景
假如A-》B-》C迹炼,想讓C后退直接到A,使用什么樣的intentflag颠毙?
假如A-》B-》C斯入,C使用singleTask,C后退蛀蜜,后退到什么地方呢刻两?
在全屏顯示高清大圖的時候,網(wǎng)速慢的情況下如何顯示滴某?漸進式顯示是怎么做到的磅摹?如果想顯示下載進度圈圈滋迈,該如何實現(xiàn)?
AsyncTask在4.x以后有什么改變户誓?怎樣改回并發(fā)執(zhí)行好多個杀怠?如果一個AsyncTask結(jié)束取得結(jié)果之前Activity就因為內(nèi)存原因被Destroy掉了,那會有什么情況發(fā)生厅克?會內(nèi)存泄露嗎赔退?會空指針嗎?需要在Activity徹底死掉之前把AsyncTaskcancel掉嗎证舟?如果沒有cancel掉硕旗,然后Activity重啟了,那這個Asynctask又當(dāng)如何呢女责?
AsyncTask內(nèi)部實現(xiàn)機理 與Thread+Handler有什么不同
說一下HandlerThread
你的APP里漆枚,是每個Activity都有一個Handler呢還是所有Activity共享一個Handler
基于事件監(jiān)聽、基于事件回調(diào) 假如一個touch事件發(fā)生抵知,那是監(jiān)聽器先收到還是onTouch函數(shù)先收到
假如你要記錄ListView滾動到的位置墙基,要記錄什么信息,view怎樣獲得坐標(biāo)信息
說一下canvas
dialog和popupwindow的應(yīng)用場景 如果popupwindow在沒有dismiss的時候Activity finish了刷喜,會出現(xiàn)什么情況残制?
了解過什么三方庫?為什么不用三方庫掖疮?
Service和推送通知初茶,通知有沒有可能出現(xiàn)有推送但是通知欄收不到通知?service被kill掉會如何浊闪?如何保證service不被kill掉
了不了解Scrollview scrollview和ListView有什么相似點 有什么不同 那如果這兩個是繼承關(guān)系 那應(yīng)該是誰繼承誰恼布?
dp sp px各自的應(yīng)用場景是什么 換算關(guān)系是什么 使用sp的時候如果調(diào)整系統(tǒng)字體,顯示字體會跟著調(diào)整嗎搁宾?
gallery為什么被廢棄折汞?為什么Google推薦使用viewpager代替gallery呢?有什么改進盖腿?
handler.postAtTime不是延時post么 那handler怎么延時處理Message
ListView的優(yōu)化 爽待;Lru如何實現(xiàn)的 ;OOM的處理 奸忽;GC原理 堕伪;循環(huán)引用的問題 引用計數(shù)與可達性算法 ;LaunchMode
網(wǎng)絡(luò)框架實現(xiàn)栗菜,volley原理
線程池原理欠雌,java提供了哪些線程池
一個activity只能有一個進程么【對進程的理解】
activity任務(wù)棧,啟動模式相關(guān)疙筹,四種啟動模式
夜間主題的實現(xiàn)方式
動態(tài)加載原理富俄,classloader理解
listview實現(xiàn)item左滑需要考慮的問題
view的事件分發(fā)與渲染流程
LruCache的理解禁炒,原理,以及還有哪些方式實現(xiàn)緩存調(diào)度
GC原理霍比,實現(xiàn)方式幕袱,能否手動去控制GC回收
OOM,內(nèi)存泄漏的問題有沒有遇到過悠瞬,如何處理
mvp與mvc的區(qū)別们豌,實現(xiàn),原理
volley原理浅妆,發(fā)送五個請求(相同以及不同)時望迎,內(nèi)部所做處理?如何根據(jù)發(fā)送請求結(jié)束后凌外,剔除相同的等待請求辩尊?
圖片緩存技術(shù)的實現(xiàn),如何結(jié)合volley實現(xiàn)康辑,volley自帶緩存管理還是需要自己去實現(xiàn)摄欲,緩存的底層實現(xiàn)
listview原理,adapter與view是如何綁定的疮薇,如何自己設(shè)計一個類似listview的自定義view胸墙,子item復(fù)用,管理以及getView的實現(xiàn)
android線程模型惦辛,looper,messageQueue一套機制
線程實現(xiàn)方式劳秋,thread+asynctask+handlerThread+intentService,彼此的應(yīng)用場景以及原理
asynctask底層實現(xiàn)原理,為何不能在非主線程中實例化胖齐,其實還是跟onPre and onPost在當(dāng)前線程實現(xiàn)有關(guān)
手機唯一標(biāo)識方式
手機app耗電量跟什么有關(guān),耗電優(yōu)化
推送服務(wù)原理嗽冒,心跳機制
service使用注意事項以及原理
服務(wù)應(yīng)用喚醒實現(xiàn)呀伙,aidl 的service更新后如何讓舊的客戶端兼容
多線程實現(xiàn),通信原理
進程通信原理添坊,使用訂閱者模式時剿另,服務(wù)端拿到的binder對象為何是新的實例,如何獲取到真正客戶端實例(RemoteCallbackList)
ssl協(xié)議贬蛙,握手交換密鑰過程雨女,加密算法,對稱非對稱加密原理
lrucache原理實現(xiàn)阳准,linkedhashmap底層氛堕,手寫代碼實現(xiàn)lrucache,對相關(guān)的bitmap進行管理
線程池構(gòu)造函數(shù)傳參意義野蝇,手寫代碼實現(xiàn)線程池讼稚,繼承方式括儒,不能用現(xiàn)成的
異步接口實現(xiàn),實現(xiàn)跨線程通信锐想,不能用handler帮寻,looper那一套機制
socket編程實現(xiàn)http請求,手寫代碼實現(xiàn)
volley原理實現(xiàn)
Android事件分發(fā)
scrollview特點
處理listview圖片錯位方式
Mvp與mvc區(qū)別赠摇,實現(xiàn)固逗,架構(gòu)表示
android緩存實現(xiàn)
Java線程 run與start區(qū)別,原理實現(xiàn)
打包混淆原理
volley原理藕帜,實現(xiàn)
jar封裝的private方法能否在外部調(diào)用
反編譯方式工具及其原理
網(wǎng)絡(luò)請求方面如何處理
jni使用及其原理
對稱加密與非對稱加密
使用圖片緩存但是服務(wù)器改了實際的圖片烫罩,但url一樣,如何在客戶端區(qū)別
線程間通信耘戚,進程間通信嗡髓,binder原理
sharepreference原理
事件分發(fā)原理
設(shè)計模式,延遲加載實現(xiàn)單例模式收津,內(nèi)部類來解決饿这,加鎖也不穩(wěn)
mvp與mvc
線程池調(diào)度實現(xiàn),不能用executor(當(dāng)時居然以為blockingqueue存線程呢=_=)
動態(tài)加載撞秋,dex分包长捧,熱修復(fù)
緩存原理實現(xiàn),內(nèi)存如何分配
如何減小apk體積
性能優(yōu)化從哪幾方面考慮(內(nèi)存吻贿,cpu串结,fps,ddms靈活dump)
looper舅列,handler等原理
activity的啟動模式
listview與recycleView的區(qū)別與優(yōu)缺點
A向B發(fā)送消息肌割,A能實時看到B的閱讀時間,問A實現(xiàn)方式
volley層次結(jié)構(gòu)帐要,原理把敞,為什么選用volley,不用其他開源框架榨惠,對開源框架的看法
MVC與MVP的區(qū)別奋早,activity,fragment扮演的角色赠橙,presentor之間的通信問題耽装。
進程間的通信,binder的原理期揪,intent與aidl的應(yīng)用場景及相關(guān)比較
圖片如何緩存處理掉奄,如何處理oom
自定義view實現(xiàn),注意事項
加載圖片請求的超時時間設(shè)置横侦,多少秒合適挥萌,原因绰姻,大圖如何加載。
線程間的通信引瀑,并發(fā)問題解決方案狂芋。
快速排序為什么叫做快排,其算法復(fù)雜度憨栽,及其實現(xiàn)原理
應(yīng)用簽名是為了什么帜矾,簽名原理是什么
root之后有什么重大的變化,開發(fā)者可以操作什么
給出九游android客戶端程序屑柔,解釋下相應(yīng)的布局屡萤,listView做大面積的嵌套,下拉刷新的實現(xiàn)
渠道提示不合法的問題掸宛,為何系統(tǒng)能識別渠道非法
說一下Binder機制的底層實現(xiàn)死陆。
Android中進程之間通信,除了Binder還有什么唧瘾?說一下底層實現(xiàn)原理
說一下Android中的事件處理流程措译,結(jié)合源碼解釋,不要直接說規(guī)律結(jié)論饰序。
系統(tǒng)調(diào)用的方式领虹?系統(tǒng)調(diào)用發(fā)生的場景?系統(tǒng)調(diào)用常用函數(shù)求豫?系統(tǒng)調(diào)用的具體過程塌衰?
Binder的一次拷貝發(fā)生在哪里。
AMS的作用蝠嘉?
一個Activity啟動另一個Activity時函數(shù)調(diào)用流程最疆。
Android中Handler機制?
什么是ThreadLocal蚤告,一個線程可以獲取到另一個線程的Looper嗎肚菠?怎么獲得?
序列化怎么實現(xiàn)罩缴?答安卓端有Serializable和Parcelable。然后問這兩個有什么區(qū)別层扶,分別怎么實現(xiàn)箫章。
問fragmentPagerAdapter和fragmentStateAdapter的區(qū)別。
fragment和fragment怎么通信镜会?
listview怎么優(yōu)化檬寂?
網(wǎng)絡(luò)通信怎么做的?volley的實現(xiàn)戳表?
http和https的區(qū)別桶至?
有看過開源第三方庫嗎昼伴?
登陸注冊這塊的邏輯一般怎么做?
canvas畫了個線镣屹,怎么撤銷圃郊?
性能優(yōu)化怎么做?
寫了多少代碼女蜈?有開源項目嗎持舆?有參與開源項目嗎?
bitmap的本質(zhì)伪窖?答到了cpp層逸寓。
activity的異常退出和啟動調(diào)用的方法
activity和service的區(qū)別
service啟動方式以及區(qū)別,以及service的作用
activity的launchmode
過濾規(guī)則在manifest和代碼中注冊有啥區(qū)別
布局中優(yōu)化常用方法覆山,以及分析工具竹伸,我答的時候基本圍繞層級優(yōu)化答得,考官建議我從過度繪制等加強學(xué)習(xí)
屏幕適配問題簇宽,老生常談啦
bitmap加載一個100張圖片的優(yōu)化處理
lrucache和disklrucache勋篓,其中還問到軟引用和弱引用的使用
listview的優(yōu)化
自己用過什么開源框架,還有看過源碼嗎
React-native的通信機制
react-native和phonegap的區(qū)別
自己在項目中開發(fā)遇到的坑關(guān)于react-native
有沒有看過react-native的源碼晦毙,能否講講最熟悉的源碼
線程和進程的區(qū)別生巡,線程自己有沒有自己的內(nèi)存
多線程帶來的影響
binder的機制
android為什么使用binder進行跨進程通信
Andorid四大組件
anroid生命周期,opause见妒,onStop區(qū)別
Fragment孤荣,是否看過源碼,如何啟動
Service有哪幾種
隱式啟動和顯示啟動
Service兩種啟動方式
啟動線程方式有哪幾種
handle消息隊列相關(guān)
幾種常用布局须揣,布局到group樹過程盐股。。耻卡。疯汁。
weight屬性
布局優(yōu)化相關(guān)
Arraylist LinkList
線程進程區(qū)別
一個app能否是多進程?(大概)
converview一些知識點
oom如何發(fā)現(xiàn)
handler出現(xiàn)oom如何解決
如何開啟多個網(wǎng)絡(luò)異步請求
線程池內(nèi)線程的數(shù)量如何確定
說說OKHTTP的實現(xiàn)
UIM的實現(xiàn)
講一下mvp卵酪,mvp和mvc區(qū)別幌蚊,講一下用過的開源項目,說一下如何實現(xiàn)
asynctask實現(xiàn)
線程池如何使用
如何實現(xiàn)多進程溃卡,進程間如何通信溢豆,具體講一下socket
surfaceView
如何進行界面優(yōu)化
如何實現(xiàn)緩存
IOC的思想?
AOP的思想瘸羡?
為什么android要推出handler颁鱿伞?handlder能不能用在線程中創(chuàng)建啊队他?
AysnTask的源碼分析卷仑,能不能在其他線程中創(chuàng)建的?
一個關(guān)于android進程的問題麸折,哪些android進程不能被殺死的锡凝?
斷點續(xù)傳的基本原理(問的很細很細)
圖片壓縮方式
數(shù)據(jù)結(jié)構(gòu)對一個基本有序的數(shù)組應(yīng)該采用什么方式進行排序,對一個亂序的數(shù)組應(yīng)該采用什么方式排序能快速找到前n個數(shù)磕谅?為什么私爷?
Java和JavaScript的區(qū)別
介紹一下restful框架
多線程安全實現(xiàn)方式,synchronized和lock膊夹,信號量的區(qū)別
http的理解衬浑,http中無狀態(tài)的含義是
cookie和session的區(qū)別
虛擬機相關(guān)知識
四大組件生命周期
對我項目中用到一個開源框架中算法了解嗎?(IK Analyzer)
數(shù)據(jù)緩存處理
斷點續(xù)傳原理
Hashmap和hashtable之間的區(qū)別
四大組件相關(guān)知識
lrucache的基本原理
三級緩存的理解
Volley的原理及使用
對Restful了解
事件分發(fā)機制(問的很細很細)
自定義view的繪制方式
Listview的優(yōu)化(問的很細很細)
Xml解析方式放刨,原理優(yōu)缺點
自定義控件如何繪制工秩,然后現(xiàn)場畫出了一個控件,問我具體應(yīng)該怎么繪制(如何計算子view的寬高度等等)問的超級細
算法題題目忘了进统,只記得寫的時候時間復(fù)雜度過高助币。
Activity的生命周期及其他相關(guān)知識
安卓動畫相關(guān)知識
service中啟動方式有哪些區(qū)別是?
線程安全實現(xiàn)方式螟碎,線程池具體原理
Linux和安卓中跨進程間通信間的區(qū)別眉菱,以及安卓中binder基本原理
四大組件的相關(guān)知識
java內(nèi)存模型
GC算法具體內(nèi)容
接口和抽象類的區(qū)別
四大組件的生命周期
Hsahmap的底層原理
斷點續(xù)傳的原理