颤动接触加载需要很多时间

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

我想加载所有电话联系人。为了加载联系人,我使用 contact_service 包。但这需要很长时间,几乎 5-12 秒。在原生 Android 中,几乎不需要时间。这个问题有其他解决方案吗?

我的代码:

getContacts() async{
  var contacts = await ContactsService.getContacts();

  setState(() {
    _contacts = contacts;
  }

}
flutter
2个回答
0
投票

可以这样写

getContacts() async{
  var contacts;
  await ContactsService.getContacts().then((data){
    setState((){
      contacts = data;
    });
  });;
}

0
投票

你可以这样写,这样可以减少时间。

    // Get all contacts without thumbnail (faster)
List<Contact> contacts = await ContactsService.getContacts(withThumbnails: false);

通过其他方式,我可以找到 flutter_contacts 插件。

该插件经过调整,可以实现获取整个联系人列表的最佳性能。使用此插件加载 1000 个联系人应该需要约 200 毫秒或更短的时间,具体取决于设备。

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