境界Java文檔處理建議一個領域實例到Activity
/生命週期使得境界打開關聯/關閉創建Activity
/Fragment
時/銷燬。境界的生命週期 - 閉合/無效的情況下,在機器人
假設Activity
上的用戶交互觸發了一堆基於鏈接的異步/基於回調的代碼,最終對與Activity
關聯的領域實例發出讀/寫操作。
如果用戶交互後立即退出活動和領域實例被關閉的Activity's
onDestroy
的一部分,這將是一個很好的方法,以確保交易/查詢在封閉的情況下失敗默默地因爲它是一個嵌套的回調鏈。
在調用任何方法之前檢查領域實例是否關閉/有效是很乏味的。
同時,打開領域實例並關閉它只是爲了寫/讀東西可能是昂貴的。
什麼是避免像這樣的崩潰的好方法?
'一串鏈接異步/基於回調的代碼'應該由一個可以獲得它自己的Realm實例引用的backround服務處理。 '最終發出與活動相關的領域實例的讀/寫'活動中註冊的領域觀察者將對領域中的數據更改做出反應。如果活動處於活動狀態,則會在UI中顯示更改。如果它死了,沒人關心。 –
並非每個領域的訪問都可以委託給後臺服務。 – letronje
你將不得不解釋你爲什麼這麼想。爲什麼它不能在你的情況下工作?你會從所有線程訪問相同的底層數據。 –