Oky*_*man 1 android splash-screen handler
我做对了吗?我有一个启动屏幕(只是一个图像),onCreate()我在运行繁重的功能后启动主要活动:
SPLASH_DISPLAY_LENGHT=2500;
new Handler().postDelayed(new Runnable(){
public void run() {
LONG_OPERATING_FUNCTION();
Intent mainIntent = new Intent(this, MainActivity.class);
Splash.this.startActivity(mainIntent);
Splash.this.finish();
}
}, SPLASH_DISPLAY_LENGHT);
Run Code Online (Sandbox Code Playgroud)
我认为我有内存泄漏,我正在尝试找到它。我认为 Splash 还没有真正结束。
LONG_OPERATING_FUNCTION()不应该在主应用程序线程上完成,就像您在这里所做的那样。
理想情况下,您不使用启动屏幕,而是仅MainActivity在执行某项操作时LONG_OPERATING_FUNCTION()启用选定的功能AsyncTask。
如果有人用枪指着你的头并强迫你实现闪屏,以免你的大脑被溅到,我会这样做:
Handler并postDelayed()打电话AsyncTaskdoInBackground()中AsyncTask,做你的LONG_OPERATING_FUNCTION()LONG_OPERATING_FUNCTION()完成后,SPLASH_DISPLAY_LENGHT[原文如此]时间尚未过去,则用于SystemClock.sleep()在剩余时间内睡眠(或不睡眠)onPostExecute(),启动MainActivity并调用finish()| 归档时间: |
|
| 查看次数: |
3225 次 |
| 最近记录: |