我想在应用程序中获得带宽的值。
在应用程序启动时,我会显示一个启动屏幕,数据将加载到AsyncTask中。我使用这样的处理程序来显示进度条:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent i = new Intent(Activity_Splash_Screen.this, Activity_Main.class);
i.putParcelableArrayListExtra("category", (ArrayList<? extends Parcelable>) ListOfCategory);
startActivity(i);
finish();
}
}, SPLASH_TIME_OUT);
但是,如果带宽不是最优的,则加载数据的时间将超过变量SPLASH_time_OUT的时间。
因此,我想获得带宽的值,以适应我的变量SPLASH_TIME_OUT的值。
非常感谢你的帮助!
我认为这不是显示启动屏幕的最佳方式。在加载应用程序所需的所有必需数据之前,必须显示启动屏幕。带有静态超时的方法无法正常工作(或者在某些设备上根本无法工作)。你为什么不试试这样的东西?
public class SplashActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
init();
}
private void init() {
final AsyncTask<Void, Void, Void> asyncTask = new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
//Do your initial data loading here...
return null;
}
@Override
protected void onPostExecute(Void result) {
startActivity(new Intent(SplashActivity.this, MainActivity.class));
finish();
}
};
asyncTask.execute(null, null);
}
}