在Android中以编程方式修改和显示联系人的最佳方式(Kotlin)



我有一个应用程序,可以从SIM中获取和显示联系人,并可以修改该联系人的特定值。

目前我正在使用ContentResolver来获取和修改联系人;不幸的是,这意味着性能不太好,因为每次修改联系人时,都会重新从手机中提取,这需要一些时间。

第一次打开应用程序时填充数据库,然后对数据库和手机进行任何修改,会更好吗?

这样,我猜我只需要在第一次启动应用程序时用ContentResolver加载联系人,这将节省在窗口中切换的时间。或者我可以保留联系人对象并对对象和电话进行更改吗?或者有更好的方法吗?只是想知道最好的做法是什么。

如果用户在您的应用程序中修改了联系人,我假设该应用程序具有该联系人的contact-id。

如果是这样,你可以简单地刷新联系人的信息,并保留其余信息。

你应该在活动的onResume回调中获取所有联系人,这样无论何时应用程序出现在前台,都会显示新的信息。

使用ContentResolver并不意味着必须刷新所有联系人才能显示更新的信息。

最新更新