就是一个简单的页面跳转
点击 ActivityA 当中的一个按钮,跳转到 ActivityB
现在偶尔会发生这样的情况:在点击了 A 页面的按钮之后,但并不跳转,等待几秒之后,才会跳转
也许有的同学会认为是在主线程当中做了什么耗时的操作
但并没有,所有相关的数据库、网络操作都在子线程当中进行的
我在 ActivityB 的 onCreate、onStart 和 onResume 方法打印了 log,分别计算这几个方法的执行时间
都是几毫秒,最多是 2、30 毫秒
最诡异的是,点击了按钮,ActivityB 当中的 log 打印,时间正常,但界面却不显示跳转,等待几秒之后才跳
哦对了,ActivityB 当中有个自定义的 SurfaceView,因为不懂 SurfaceView,只是谷歌了一下用法自定义了一个控件,是不是这个 SurfaceView 搞的鬼?
按说也不应该啊,当初就是因为担心卡顿才用的 SurfaceView,SurfaceView 的所有绘制都是在子线程当中进行的啊,怎么会卡顿呢?
有没有同学了解的?求帮忙解惑!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.