我有一个包含大量视图和片段的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-任何建议或更好的实施将不胜感激
答案 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分析器,非常酷!