开发Android应用程序时如何使用Java中的片段管理器提高片段的加载速度?

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

我对 Android 开发还很陌生。我的程序由一个活动和一堆可以通过菜单导航到的片段组成。

一些 Fragment 仅包含约 12 个 TextView,并且加载速度足够快,但其他 Fragments 则需要很长时间。 片段包含 8-12 个 Numberpicker 和 8-12 个 EditText,它们包含已与共享首选项一起保存的值。片段中的元素被保存到 onViewCreated 方法中的成员中,然后用来自sharedPreferences的数据填充。 我目前正在通过以下方式选择片段:

} else if (itemId == R.id.nav_2weightlifting) {            getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, ex_two).commitNow();

“nav_2weightlifting”是菜单条目,“ex_two”是启动时创建的与菜单条目相对应的片段。

似乎每次切换菜单时,SupportFragmentManager 都会创建和销毁片段。这需要 1 到 2 秒,而且非常笨重。

我尝试在将片段提供给 FragmentSupportManager 之前创建它们。 我尝试将 SharedPreferences 中的所有数据一起加载并使用生成的地图。

有没有一种方法可以创建每个片段并仅显示选定的片段而不删除其他所有内容?或者是否有其他方法可以更快地加载我的信息(可能不在 onViewCreated() 中)? Fragments 是实现我想要的目标的错误工具吗?

非常感谢任何帮助

java android android-fragments
1个回答
0
投票

尝试这些事情:

  1. 使用片段缓存
  2. 使用show()和hide()代替replace():
  3. 尝试使用 AsyncTask 进行异步加载 - Sharepref
© www.soinside.com 2019 - 2024. All rights reserved.