2012-10-11 73 views
2

所以在Android上既沒有POSIX共享內存也沒有SysV共享內存,但有ashmem。我想用它從本地子系統中的崩潰中收集一些事後的信息(如here)。問題 - 當持有處理他們的過程死亡時,我可以讓一個灰燼區域持續嗎? ashmem記錄在哪裏?Ashmem保留策略

回答

1

看起來像沒有內置的方式來使地區堅持。所以我建立了一個進程外服務,我將一個描述符傳遞給它的一個區域,並且希望這個服務能夠勝過主流程。衆所周知,Android上的後臺服務沒有終身保證。

該服務有一個類型爲ParcelFileDescriptor的靜態變量,並支持兩個綁定命令 - GET和SET。它們分別將該描述符返回到響應包裹中,並從請求包裹中分配,關閉當前保存的描述符(如果有的話)。