所以基本上我有一个应用程序可以执行一些开放式渲染,但也有一些用户输入的活动来设置一些东西。
奇怪的是,但如果我输入的活动没有以下属性
机器人:主题= “@风格/ ThemeDialog”
其中ThemeDialog基本上是一个将parent属性设置为
的样式@android:风格/ Theme.Holo.Dialog“
表面视图被破坏。 一个人如何与另一个相关?我似乎找不到合理的解释。 你能帮我吗?
答案 0 :(得分:1)
默认主题使用不透明窗口。这意味着当您打开没有在清单中指定主题的Activity
时,它会隐藏包含您Activity
的当前SurfaceView
。隐藏Activity
时,系统可以自由回收曲面。当您返回原始Activity
时,将重新创建曲面。
答案 1 :(得分:0)
假设我有活动A B C D和E.
A B C D - 都具有相同的主题,Theme.Holo.Dialog E - 没有指定任何主题(所以默认的,不透明的)
A - 此活动保存我在
上绘制的表面如果我打开A,然后是B(通过A),然后是C(通过B),那么D(通过C),表面就可以了。
如果我打开A,然后是B(通过A),然后是C(通过B),然后是E(通过C),则会发生以下情况: 1.当从C切换到E时,表面被破坏 和 2.当从E回到C时,表面恢复(表面改变事件)
正如您所看到的,A远远落后于这一系列活动。那么A的表面与E没有主题的事实有什么关系呢?为什么从可能活动(C)切换到非可能活动(E)时A表面会被破坏?