android - Binder 线程、进度条和 OutOfResourcesExceptions

标签 android android-layout android-progressbar

我正在对我的应用程序进行压力测试。这是我的场景

1) 在我的工作线程中,我显示了一个进度条(我将一条消息传递给在 ui 上创建的处理程序)。我在我的工作线程上等待直到 pd.show() 被调用,然后我恢复我的工作线程

2) 在工作线程上执行操作

3) 关闭进度对话框。同样,我将消息传递给在 ui 上创建的处理程序并等待工作线程直到调用 pd.dismiss

为了进行压力测试,我将其置于 10000 次迭代循环中。在我的 Nexus one 上一切正常。在 galaxy 选项卡和所有摩托罗拉设备上,大约 50 次左右的迭代后,我的应用程序强制关闭。我看到 BinderThreads 慢慢增长到 16 并停止增长(我知道 16 是 BinderThreads 的最大限制)。在 Nexus One 上,这些会在以后引起任何问题。我在 galaxy tab 和 moto 设备的 logcat 中得到了这个

 W/WindowManager( 1363): OutOfResourcesException creating surface
 I/WindowManager( 1363): Out of memory for surface!  Looking for leaks...
 W/WindowManager( 1363): No leaked surfaces; killing applicatons!

编辑:关闭进度对话框后,我将其设置为空,以确保它没有保留任何内容。

有什么想法吗?

谢谢,

Veeresh

最佳答案

也许您没有足够的内存来创建更多表面!

关于android - Binder 线程、进度条和 OutOfResourcesExceptions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6795510/

相关文章:

android - cursor.setNotificationUri() 和 getContentResolver().notifyChange(uri,null) 之间的区别

java - 我的应用程序在 android studio 中崩溃了,在查看日志时我无法弄清楚出了什么问题

Android:不确定的水平进度(对话框)栏

安卓循环定时器

android - 如何固定 View 在 ViewPager 和 CoordinatorLayout 中的位置

java - 如何使用 Twitter4j 获取 twitter 中的 via 字段?

android - 自定义 Android ScrollView 的垂直滚动条

android - 如何解析维度字符串并将其转换为维度值

android - 在android中设置剩余进度条颜色

android - 在不同的屏幕分辨率下保持按钮的圆形图像比例