我想加载所有电话联系人。为了加载联系人,我使用 contact_service 包。但这需要很长时间,几乎 5-12 秒。在原生 Android 中,几乎不需要时间。这个问题有其他解决方案吗?
我的代码:
getContacts() async{
var contacts = await ContactsService.getContacts();
setState(() {
_contacts = contacts;
}
}
可以这样写
getContacts() async{
var contacts;
await ContactsService.getContacts().then((data){
setState((){
contacts = data;
});
});;
}
你可以这样写,这样可以减少时间。
// Get all contacts without thumbnail (faster)
List<Contact> contacts = await ContactsService.getContacts(withThumbnails: false);
通过其他方式,我可以找到 flutter_contacts 插件。
该插件经过调整,可以实现获取整个联系人列表的最佳性能。使用此插件加载 1000 个联系人应该需要约 200 毫秒或更短的时间,具体取决于设备。