Handler.postDelayed on onCreate of Activity

时间:2018-05-15 12:56:52

标签: android android-activity android-handler

我有一个包含大量视图和片段的Activity,它几乎在850~ms开启,作为热启动或热启动,冷启动1250~ms。

我将这个时间缩短到接近350~毫秒的时间是推迟我的视图初始化如下:

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_details);
    new Handler().postDelayed(() -> {
        initUi();
        bindDataToViews();
    }, 50);
}

我的问题是:

1-前面的代码是否有任何副作用,不会立即显现。

2-任何建议或更好的实施将不胜感激

1 个答案:

答案 0 :(得分:0)

如果您想提高用户界面的效果,可以按照Android指南进行操作:https://developer.android.com/training/improving-layouts/。 您也可以开始使用FrameLayouts而不是RelativeLayouts,如https://academy.realm.io/posts/gotocph-daniel-lew-efficient-android-layouts/所述。如果您肯定无法使用FrameLayout,则必须使用ConstraintLayout。通过这些基本步骤,您将提高应用程序的性能。

我建议您在更改之前和之后衡量应用性能。你可以在这里找到一些工具:https://developer.android.com/studio/profile/。我使用过dumpsys和GPU分析器,非常酷!