gpt4 book ai didi

Android Widgets 允许以某种方式超过 Binder 事务限制?

转载 作者:太空宇宙 更新时间:2023-11-03 11:25:12 25 4
gpt4 key购买 nike

AppWidgetManager 的 Android 文档中它说

The total Bitmap memory used by the RemoteViews object cannot exceed that required 
to fill the screen 1.5 times, ie. (screen width x screen height x 4 x 1.5) bytes.

但是 TransactionTooLargeException 的文档说:

The Binder transaction buffer has a limited fixed size, currently 1Mb, which is 
shared by all transactions in progress for the process.

市场上几乎所有的 Android 设备都有足够大的屏幕尺寸,填充它的位图将超过 1Mb(例如 800 x 600 x 4 = 1,920,000 字节)。我查看了 Android 平台源代码,它似乎没有将 ashmem 与管道或任何深奥的东西一起使用,只是一个 normal AIDL file在 RemoteViews 内部,Bitmap 对象可以正常方式进行 Parcelable(它 does drop down to native code 但它似乎将所有 Bitmap 像素写入常规 Parcel)。

那么Android怎么可能超过Binder事务限制呢? oneway 是否允许发送更大的数据?

最佳答案

位图 被特殊处理。它们在 native 内存中,并且只有引用在包中传递。尝试在 byte[] 中序列化位图,我敢打赌它会崩溃。

关于Android Widgets 允许以某种方式超过 Binder 事务限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23769849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com