有誰知道Android中的服務開銷有多大。
如果有任何其他的觀點幫助我做出以下設計決定。Android中的服務開銷(我應該創建多少)
我有兩個SQLite的DBS,一個存儲的實際數據(基本上只讀產品庫存),其他的存儲設置,選擇的項目列表等
現在,我創建了一個服務才能manageing這些數據庫的護理,主要有兩個原因:
- 我希望能夠「節省近」(設置),這是可能的的onDestroy
- 這需要一些時間來加載數據,因此可以快速關閉該應用程序將數據保存在內存中
從設計的角度來看,我既可以:
- 創建一個服務同時處理數據塊
- 創建兩個服務,每處理一個DB
感覺清潔創建一個單獨的服務對於每個DB,例如擴展一個通用的基類來處理關機,定時器等等。它還允許我獨立地配置它們(現在不需要)。另一方面,我不想開始沿着這條路走下去,然後當我習慣於在「服務」中做這樣的事情時,發現有3或5個服務的限制。
那麼, 5個運行的服務,而一個服務託管5個不同的功能?有任何想法嗎?
感謝您的反饋。關於A - 否,我不想保存在每個活動開關上。只有在「applicationExit」上,並且ApplicationClass中沒有這樣的內容(onTerminate只適用於模擬器)。 –
關於B,它使用服務的一個很好的副作用。即使應用程序被殺死,服務也可以持久保留這些對象(並且在例如30分鐘不使用後終止) - 但是不用擔心,我的主要動機是A - 在退出時保存,而不是頁面切換。 –
好的,在這種情況下,在我看來,服務可能是可靠地通知應用程序死亡的唯一可行方式。 (我沒有看到atm爲什麼Android沒有提供相應的回調函數;儘管不打算進一步調查)。您可能想要*綁定*服務,以便在(最後一次)綁定後服務將被隱式銷燬客戶端消失。 - 我剛剛發現[this](http://stackoverflow.com/questions/7236782/is-an-android-service-guaranteed-to-call-ondestroy)關於* onDestroy()*的服務...似乎它不太容易做到你想要的。 – JimmyB