如何获得带宽



我想在应用程序中获得带宽的值。

在应用程序启动时,我会显示一个启动屏幕,数据将加载到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);
    }
}

最新更新