簡體   English   中英

為什么要“避免使大型物體穿過活頁夾”?

[英]Why “avoid passing large objects through Binder”?

我正在中級閱讀Google的“ Android開發”系列-https: //medium.com/google-developers/developing-for-android-vii-the-rules-framework-concerns-d0210e52eee3

在“框架”一章中,它說:“避免將大對象通過活頁夾傳遞—對象在通過活頁夾序列化時被復制,因此對象越大,傳遞對象的過程越長。”

我不確定我是否完全理解。 什么時候發生? 當我在活動之間傳遞數據時,這是否適用於此?

活動不是活頁夾,在一個應用程序的活動之間傳遞數據沒有問題。 當您在流程之間(例如在不同應用程序中的活動或服務之間)傳遞數據時,請避免使用大對象。

每個進程都有一個大小為1 MB的關聯聯編程序緩沖區。 一個進程與其他進程具有的所有事務都使用此緩沖區。 因此,自然地,我們應該避免通過活頁夾傳遞非常大的對象,將對象序列化以進行傳輸將花費更多的時間,而且由於大小限制,事務甚至可能失敗,從而提供TransactionTooLargeException, http://developer.android.com/reference/android /os/TransactionTooLargeException.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM