android – 设备方向改变时的黑屏

android – 设备方向改变时的黑屏,第1张

概述我正在开发 Android 2.2中的应用程序. 当改变设备方向时(通过旋转设备),在我的Activity的边界上绘制黑色屏幕(甚至没有活动标题),它需要几秒钟(7-15秒),然后最终绘制活动. 我测试了它模拟器和两个不同的设备,行为是相同的. 在LogCat中我有下一个输出: 02-02 09:18:06.044: WARN/WindowManager(1300): MyActivity fre 我正在开发 Android 2.2中的应用程序.

当改变设备方向时(通过旋转设备),在我的Activity的边界上绘制黑色屏幕(甚至没有活动标题),它需要几秒钟(7-15秒),然后最终绘制活动.

我测试了它模拟器和两个不同的设备,行为是相同的.

在LogCat中我有下一个输出:

02-02 09:18:06.044: WARN/WindowManager(1300): MyActivity freeze timeout expired.02-02 09:18:06.044: WARN/WindowManager(1300): Force clearing freeze: AppWindowToken{4515af88 token=HistoryRecord{44f52458 com.project.package/.MyActivity}}02-02 09:18:08.054: WARN/WindowManager(1300): Window freeze timeout expired.02-02 09:18:08.054: WARN/SurfaceFlinger(1300): timeout expired mFreezedisplay=1,mFreezeCount=002-02 09:18:08.054: WARN/WindowManager(1300): Force clearing orIEntation change: Window{45178a00 com.project.package/com.project.package.Activity paused=false}

我不知道为什么会这样.
感谢您的评论,建议,答案.

解决方法 感谢您的评论,对不起的回答感到抱歉.

问题是我的应用程序中有一个很大的非常大的列表(在ListVIEw中接近2000行).如果我不绘制该列表,应用程序就可以了.

这是可以理解的,2000行,每一个带有图标和文字,都太多了!

所以我决定实现一个索引,或者知识产权市场的非常智能的列表(这个列表很棒,没有索引,但只绘制你很接近的行).

我想,当设备旋转(使用大列表)时,它会尝试删除引用或类似的东西,并且需要很长时间,并且会抛出超时,这就是显示黑屏的内容.但这只是一个假设

我试图清除onPause()中的列表,但它没有解决问题.

无论如何,问题是:在Activity中查看太多对象.
我的解决方案:使用索引列表(不要在Activity中使用太多VIEw对象).

希望这对其他人有用.

总结

以上是内存溢出为你收集整理的android – 设备方向改变时的黑屏全部内容,希望文章能够帮你解决android – 设备方向改变时的黑屏所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1128274.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存