
当改变设备方向时(通过旋转设备),在我的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 – 设备方向改变时的黑屏所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)