surfaceDestroyed什么时候执行
答案:2 悬赏:0 手机版
解决时间 2021-03-31 22:12
- 提问者网友:聂風
- 2021-03-31 07:39
surfaceDestroyed什么时候执行
最佳答案
- 五星知识达人网友:未来江山和你
- 2021-03-31 09:00
大家都知道surface是surfaceview的一个专门用于画图的接口,所以当surfaceview的对象销毁时,surface一定也销毁,这时surfaceDestroyed一定会调用。
全部回答
- 1楼网友:纵马山川剑自提
- 2021-03-31 09:39
上网搜了一番,基本都说是surface被销毁的时候,才会调用surfaceDestroyed。问题又来了surface什么时候被销毁呢,大家都知道surface是surfaceview的一个专门用于画图的接口,所以当surfaceview的对象销毁时,surface一定也销毁,这时surfaceDestroyed一定会调用。
但是,我看的那个程序明明没有销毁surfaceview了啊。分步调试了一下结果发现一个现象:
有两个继承surfaceview的类分别是 svA和svB这连个类分别定义了各自的对象AView和BView。假设现在activity设置的是AView这个对象,也就是说现在用AView的surface呢。如果这时在activity执行一下代码:
setContentView(Bview);
这时,Aview中的surfaceDestroyed就会被调用,因为现在Bview的surface要接管Aview中的surface,Aview的surface就会销毁,这时必然要调用A的surfaceDestroyed函数。
在这里只是说明一种surfaceDestroyed被调用的情况,因为个人能力有限,只能写到自己发现的一些东西。这时第一次在论坛上写一些东西,希望以后能坚持下去,在接受别人帮助的同时来帮助别人。
但是,我看的那个程序明明没有销毁surfaceview了啊。分步调试了一下结果发现一个现象:
有两个继承surfaceview的类分别是 svA和svB这连个类分别定义了各自的对象AView和BView。假设现在activity设置的是AView这个对象,也就是说现在用AView的surface呢。如果这时在activity执行一下代码:
setContentView(Bview);
这时,Aview中的surfaceDestroyed就会被调用,因为现在Bview的surface要接管Aview中的surface,Aview的surface就会销毁,这时必然要调用A的surfaceDestroyed函数。
在这里只是说明一种surfaceDestroyed被调用的情况,因为个人能力有限,只能写到自己发现的一些东西。这时第一次在论坛上写一些东西,希望以后能坚持下去,在接受别人帮助的同时来帮助别人。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯