【发布时间】:2017-08-18 04:49:06
【问题描述】:
我是 java 和 android 的新手,所以我在这里问这些问题以了解它应该如何工作。
我的应用中有 2 个活动,即 Welcome_Activity.java 和 Content_Activity.java
第一个 Activity 工作顺利,但是当从 Welcome_Activity(First Activity) 调用 Content_Activity(Second Activity) 时问题就来了
在Second Activity的onCreate中,我认为内容太多会导致Activity加载太慢。
如何解决这个问题?
例子:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_Puzzle_game);
q1_tv = (TextView) findViewById(R.id.q1_tv);
q2_tv = (TextView) findViewById(R.id.q2_tv);
q3_tv = (TextView) findViewById(R.id.q3_tv);
q4_tv = (TextView) findViewById(R.id.q4_tv);
q5_tv = (TextView) findViewById(R.id.q5_tv);
q6_tv = (TextView) findViewById(R.id.q6_tv);
q7_tv = (TextView) findViewById(R.id.q7_tv);
q8_tv = (TextView) findViewById(R.id.q8_tv);
q9_tv = (TextView) findViewById(R.id.q9_tv);
q10_tv = (TextView) findViewById(R.id.q10_tv);
bt1 = (Button) findViewById(R.id.bt1);
bt2 = (Button) findViewById(R.id.bt2);
bt3 = (Button) findViewById(R.id.bt3);
bt4 = (Button) findViewById(R.id.bt4);
bt5 = (Button) findViewById(R.id.bt5);
bt6 = (Button) findViewById(R.id.bt6);
bt7 = (Button) findViewById(R.id.bt7);
bt8 = (Button) findViewById(R.id.bt8);
bt9 = (Button) findViewById(R.id.bt9);
bt10 = (Button) findViewById(R.id.bt10);
SP = getSharedPreferences("saved_data", MODE_PRIVATE);
solved = SP.getInt("solved", 0);
// LoadLevel & ResumeGame is just a method to get data from another class that have array Strings to fill the textviews and buttons
if (solved > 0) {
ResumeGame(null);
}
else {
LoadLevel(null);
}
}
【问题讨论】:
-
为什么 content_activity 很慢?你在使用网络服务还是什么?
-
您能否解释一下您试图在 Content_Activity 中加载哪种数据导致加载缓慢?
-
请分享创建代码
-
您能否提供
onCreate的代码用于慢速活动?你想在那边做什么? -
你有没有尝试在后台线程而不是ui线程中准备需求数据?