我正在对我的应用程序进行压力测试。这是我的场景
1)从我的工作线程中,我显示了一个进度条(我正在将消息传递给在 ui 上创建的处理程序)。我在我的工作线程上等待,直到调用 pd.show(),然后我恢复我的工作线程
2)对工作线程执行操作
3)关闭进度对话框。同样,我将消息传递给在 ui 上创建的处理程序并等待工作线程,直到调用 pd.dismiss
为了进行压力测试,我将其放入 10000 次迭代循环中。在我的 Nexus 上一切正常。在银河选项卡和所有摩托罗拉设备上,经过大约 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!
编辑:关闭进度对话框后,我将其设置为 null,以确保它没有保留任何内容。
有任何想法吗?
谢谢,
韦雷什