我正在对我的应用程序进行压力测试。这是我的场景
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/