2.Android四大組件依然堅挺,這是基礎并且沒有改變的跡象
Activity 服務 廣播接收器 內容提供程序
2.1 Service ,Google也意識到存在的靈活性問題,但是由于使用廣泛,所以并不打算改變
目前使用服務的應用類型:音樂、動態壁紙、通知偵聽器、屏幕保護程序、輸入方法、無障礙功能服務等
2.2 廣播接收器
廣播接收器更常見的用途只是作為通向其他組件的通道,旨在執行極少量的工作。例如,它可能會根據帶 JobScheduler
的事件調度 JobService
來執行某項工作
廣播接收器作為 BroadcastReceiver
的子類實現,并且每條廣播都作為 Intent
對象進行傳遞
JobScheduler
Note: Beginning with API30 (Build.VERSION_CODES.R), JobScheduler will throttle runaway applications. Calling schedule(android.app.job.JobInfo) and other such methods with very high frequency is indicative of an app bug and so, to make sure the system doesn't get overwhelmed, JobScheduler will begin to throttle apps that show buggy behavior, regardless of target SDK version.
2.3 內容提供者
對系統而言,內容提供程序是應用的入口點,用于發布由 URI 架構識別的已命名數據項
3.對于組件的啟動方式
Service在 Android 5.0(API 級別 21)及更高版本中,可以使用JobScheduler 來調度,當然低版本中依然使用startService或bingService的方式操作
注意:如果您使用 Intent 來啟動 Service,請使用顯式 Intent 來確保應用的安全性。使用隱式 Intent 啟動服務存在安全隱患,因為您無法確定哪些服務將響應 Intent,且用戶無法看到哪些服務已啟動。從 Android 5.0(API 級別 21)開始,如果使用隱式 Intent 調用 bindService(),系統會拋出異常。請勿為您的服務聲明 Intent 過濾器。
4.版本兼容問題
如果應用包含某個功能或者設備的調用,可以在清單中進行配置
<manifest ... > <uses-feature android:name="android.hardware.camera.any" android:required="true" /> <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="19" /> ... </manifest>通過示例中所述的聲明,沒有相機且 Android 版本低于 2.1 的設備將無法從 Google Play 安裝您的應用。不過,您可以聲明您的應用使用相機,但并不要求必須使用。在此情況下,您的應用必須將 required
屬性設置為 false
,并在運行時檢查設備是否擁有相機,然后根據需要停用任何相機功能
參考文章:官方文檔: https://developer.android.google.cn/guide/components/fundamentals
當前題目:Android復習(一)基礎知識-創新互聯
當前鏈接:http://m.kartarina.com/article18/ccigdp.html
成都網站建設公司_創新互聯,為您提供小程序開發、微信小程序、動態網站、虛擬主機、網站設計公司、用戶體驗
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯