注意事項: 插入單條數據不需要開啟事務; beginTransaction() 獲取 主連接后不會釋放,直到調用 endTransaction(). 所以在此期間如果有另一個...
注意事項: 插入單條數據不需要開啟事務; beginTransaction() 獲取 主連接后不會釋放,直到調用 endTransaction(). 所以在此期間如果有另一個...
注意事項: 如果 SQLiteOpenHelper 使用的是單例,SQLiteDatabase 對 CRUD 操作都是從同一個連接池中獲取連接. 默認情況下, 連接池中只有一...
一、SQLiteOpenHelper 調用入口 1. SQLiteDatabase 構造方法,創(chuàng)建 SQLiteDatabase 對象 2. db.open() 初始化連接池...
一、構造方法 二、獲取數據庫 1. 獲取可讀寫數據庫 2. 獲取只讀數據庫 3. 獲取數據庫邏輯 三、開啟數據庫并發(fā)功能 四、打開或創(chuàng)建數據庫 1. 打開數據庫時,如果不存在...
注意事項: 插入單條數據不需要開啟事務; beginTransaction() 獲取 mLock 鎖后不會釋放,直到調用 endTransaction(). 所以在此期間如果...
注意事項: 如果 SQLiteOpenHelper 使用的是單例,SQLiteDatabase 對 CRUD 操作都會加上同一個鎖(因為是db文件,所以精確至數據庫級). 所...
使用注意事項: getWritableDatabase() 不要放在 UI 線程,存在阻塞和操作耗時的情況; getReadableDatabase() 優(yōu)先返回 getWr...
一、 調用流程 二、JobSchedulerService 取消 job 流程 1. 最終調用該方法 2. 從 mJobs 列表、待執(zhí)行 Job 列表移除 job,處理正在執(zhí)...
一、JobServiceContext 通過 bindService 的方式啟動 JobService 1. JobServiceContext 中的 executeRunn...
設置了電量約束條件的 Job 執(zhí)行一次后不會被移除 一、調用流程 二、初始化 ChargingTracker 注冊廣播接收器,初始化當前電量狀態(tài) 三、添加需要追蹤的 Job ...
設置了 Idle 約束條件的 Job 執(zhí)行一次后不會被移除 一、調用流程 二、初始化 IdlenessTracker 三、添加需要追蹤的 Job 四、移除不再需要追蹤的 Jo...
滿足 DeadLine 約束條件的 Job 基本會被立即執(zhí)行,無論別的約束條件是否滿足 滿足 Time 約束條件后,Job 基本會被移除 該 Controller 中把 Jo...
設置了網絡約束條件的 Job 執(zhí)行一次后不會被移除 一、調用流程 二、添加需要追蹤的 Job 三、移除不再需要追蹤的 Job 四、ConnectivityController...
一、調用流程 二、JobInfo 源碼 三、jobScheduler.schedule(JobInfo)流程 四、JobSchedulerService.schedule(j...
SharedPreferences 的使用隱藏了很多陷阱. 建議: 第一次獲取 Sp 時不要直接對 Sp 進行操作,避免阻塞當前線程; Sp 被加載到內存后不會被移除,需要注...