如何延迟初始化/膨胀NavigationView

问题描述 投票:-1回答:1

我开始剖析我的应用程序启动时的状况,看起来侧面抽屉com.google.android.material.navigation.NavigationView需要花很多时间才能充气。

由于启动应用程序时NavigationView被隐藏,因此我认为可以延迟其膨胀。

我试图检查ViewStubAsyncLayoutInflator方法,但是窗台没有找到可行的方法来使这项工作有效。

有人成功异步初始化了NavigationView吗?

更新:

我在NavigationView菜单项中使用矢量可绘制图标。看起来像是这里的瓶颈。矢量路径并不复杂,也许我会尝试简化它们或使用png的...

android performance navigation-drawer layout-inflater
1个回答
0
投票

导航视图中是否需要从网络加载任何内容?如果是,则可以使用视图模型进行操作,并将数据托管在与该视图模型相关的托管活动中。这样做将无法加快导航抽屉的初始化速度,但可以保留填充数据所需的数据,因此下次不会花费那么长时间。这样,您也可以将网络操作推迟到首次打开导航抽屉时使用。

© www.soinside.com 2019 - 2024. All rights reserved.