位置: 編程技術(shù) - 正文
推薦整理分享Android IntentService解析,希望有所幫助,僅作參考,歡迎閱讀內(nèi)容。
文章相關(guān)熱門搜索詞:,內(nèi)容如對您有幫助,希望把文章鏈接給更多的朋友!
在開發(fā)安卓應(yīng)用程序時(shí),除非你指定,否則絕大部分執(zhí)行動(dòng)作都運(yùn)行UI線程中。這種機(jī)制會引發(fā)一些問題,因?yàn)楹臅r(shí)操作會妨礙用戶交互行為。這會讓用戶感到懊惱,甚至引發(fā)ANR錯(cuò)誤。幸運(yùn)的是,Android框架提供了一些類,它幫助我們把這些耗時(shí)的操作到轉(zhuǎn)移到后臺線程中去了。個(gè)人覺得最有用的是IntentService類了,但I(xiàn)ntentServce也有它的幾個(gè)局限性: 1. 它不能和用戶界面直接交互,你必須把執(zhí)行的結(jié)果發(fā)送到Activity中 2. 發(fā)送給IntentService的請求是有序的。如果IntentService正在處理任務(wù)A,而你又發(fā)送了一個(gè)任務(wù)B請求,此時(shí)IntentService只有等到執(zhí)行完任務(wù)A后才會執(zhí)行任務(wù)B。 3. IntentService中正在運(yùn)行的操作不能被中斷。
盡管IntentService有些局限性,但執(zhí)行簡單的后臺操作是一個(gè)比較好的選擇,下面為大家講述如何使用IntentService。
創(chuàng)建一個(gè)IntenService創(chuàng)建一個(gè)IntentService非常簡單,只要寫一個(gè)繼承IntentService的類即可,并實(shí)現(xiàn)構(gòu)造方法以及onHandleIntent(Intent workIntent)抽象方法即可。
因?yàn)閛nHandleIntent(Intent workIntent)方法運(yùn)行在后臺一個(gè)線程中,你可以把耗時(shí)的任務(wù)轉(zhuǎn)到此處而不必?fù)?dān)心它會阻塞UI線程。任務(wù)做完后它會自動(dòng)停止服務(wù)。
注冊IntentService僅僅創(chuàng)建了IntentService依然無法使用,你需要在清單文件中去注冊它。
現(xiàn)在你寫的IntentService類就可以使用了,那么怎樣使用呢?很簡單,你可以通過一個(gè)顯式意圖去啟動(dòng)IntentService,你可以在意圖中添加相關(guān)的數(shù)據(jù)以支持你的業(yè)務(wù)邏輯。
一旦你調(diào)用了startService(),IntentService就會執(zhí)行onHandleIntent(),任務(wù)結(jié)束后服務(wù)也就自動(dòng)停止。
在IntentService中發(fā)送廣播那么耗時(shí)的任務(wù)數(shù)據(jù)狀態(tài)通過怎樣的形式才能呈現(xiàn)給用戶呢?一種方式是你可以通過發(fā)送廣播來實(shí)現(xiàn)。通過廣播將任務(wù)產(chǎn)生的狀態(tài)數(shù)據(jù)發(fā)送到廣播接收器,在接收器中可以將數(shù)據(jù)呈現(xiàn)到UI上。
接受廣播發(fā)送過來的數(shù)據(jù)為了接受廣播發(fā)送過來的數(shù)據(jù),你需要?jiǎng)?chuàng)建一個(gè)類,該類繼承BroadcastReceiver類,并實(shí)現(xiàn)onReceive()方法。
廣播接收器一旦定義好后,你可以定義過濾器以區(qū)分動(dòng)作事件
要保證廣播接收器能夠接受到消息,必須對其進(jìn)行注冊,一般在Activity中onCreate()中對其進(jìn)行注冊,在onDestory()中注銷。
LocalBroadcastManager發(fā)送的廣播只能在程序內(nèi)被接受因此它能夠有效減低信息泄露。
Android開發(fā)——入門1 在網(wǎng)易云課堂上找到一個(gè)特別適合像我這種Android菜鳥入門的學(xué)習(xí)視頻,鏈接
ListView大全 ArrayAdapter方式設(shè)置listview利用android自帶listview的xml設(shè)置簡單的listView思路:MainActivity繼承ListActivity,并且在onCreate方法中,首先設(shè)置contentView()在activity_main
Android優(yōu)化 摘要:Android應(yīng)用優(yōu)化主要集中在內(nèi)存和UI流暢度上,從內(nèi)存占用與泄露、UI流暢度的幀數(shù)和響應(yīng)時(shí)間到IO的阻塞式響應(yīng)時(shí)間等,騰訊移動(dòng)性能評測專家葉
標(biāo)簽: Android IntentService解析
本文鏈接地址:http://esstyw.cn/biancheng/384195.html 轉(zhuǎn)載請保留說明!網(wǎng)站地圖: 企業(yè)信息 工商信息 財(cái)稅知識 網(wǎng)絡(luò)常識 編程技術(shù)
友情鏈接: 武漢網(wǎng)站建設(shè)