Android重點(diǎn)

0,Android啟動流程

1,F(xiàn)ragment的add,replace的區(qū)別,如何解決重影

2,F(xiàn)rgament的remove,detach的區(qū)別

3,Android的view的深度,編寫代碼

4,Android的優(yōu)化,view嵌套的比較多,如何優(yōu)化?

  • ViewHolder,convertView
  • 分步加載,一次加載10個
  • 圖片使用緩存(Picasso)

5,Service 有哪兩種?有什么區(qū)別?

Paste_Image.png

使用startService()方法啟用服務(wù),調(diào)用者與服務(wù)之間沒有關(guān)連,即使調(diào)用者退出了,服 務(wù)仍然運(yùn)行。使用bindService()方法啟用服務(wù),調(diào)用者與服務(wù)綁定在了一起,調(diào)用者一旦退出,服務(wù)也就終止,大有“不求同時生,必須同時死”的 特點(diǎn)。

  1. Service不是一個單獨(dú)的進(jìn)程 ,它和應(yīng)用程序在同一個進(jìn)程中
  2. Service不是一個線程,所以我們應(yīng)該避免在Service里面進(jìn)行耗時的操作
      
    有一點(diǎn)需要強(qiáng)調(diào),如果有耗時操作在Service里,就必須開啟一個單獨(dú)的線程來處理,這點(diǎn)一定要銘記在心。

6,Service和IntentService的區(qū)別

IntentService:異步處理服務(wù),新開一個線程:handlerThread在線程中發(fā)消息,然后接受處理完成后,會清理線程,并且關(guān)掉服務(wù)。

總結(jié)IntentService的特征有:

(1)會創(chuàng)建獨(dú)立的worker線程來處理所有的Intent請求;

(2)會創(chuàng)建獨(dú)立的worker線程來處理onHandleIntent()方法實(shí)現(xiàn)的代碼,無需處理多線程問題;

(3)所有請求處理完成后,IntentService會自動停止,無需調(diào)用stopSelf()方法停止Service;

7,怎么理解Android里面的Task

Task就相當(dāng)于應(yīng)用(application)的概念。在開發(fā)人員眼中,開發(fā)一個Android程序,是做一個個獨(dú)門獨(dú)戶的組件,但對于一般用戶而言,它們感知到的,只是一個運(yùn)行起來的整體應(yīng)用,這個整體背后,就是Task。

Task,簡單的說,就是一組以棧的模式聚集在一起的Activity組件集合。它們有潛在的前后驅(qū)關(guān)聯(lián),新加入的Activity組件,位于棧頂,并僅有在棧頂?shù)腁ctivity,才會有機(jī)會與用戶進(jìn)行交互。而當(dāng)棧頂?shù)腁ctivity完成使命退出的時候,Task會將其退棧,并讓下一個將跑到棧頂?shù)腁ctivity來于用戶面對面,直至棧中再無更多Activity,Task結(jié)束。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容