CalendarContract 在 Android 中速度较慢

CalendarContract slow in Android

提问人:ubik41 提问时间:11/11/2023 更新时间:11/11/2023 访问量:17

问:

赫洛,

我有这个代码片段:

        Uri uri = Uri.parse(CalendarContract.Instances.CONTENT_URI + "/" +
            Long.toString(from) + "/" +
            Long.toString(to));

    
    String selection = "(" + selection_allcalendars + " (deleted != 1) AND (" + CalendarContract.Instances.ALL_DAY + " = 0))";

    cur = cr.query(uri, mProjection, selection, null, CalendarContract.Instances.DTSTART + " ASC");

它会查询 Android 日历事件中介于“”(以毫秒为单位)和“到”(以毫秒为单位)之间的时间。

当我想查询一天的所有事件(应用程序在 60 毫秒内运行)时,这真的很有效。当我查询一周的日历事件时,它也能正常工作(应用程序在 80 毫秒内运行)。

但是,当我想查询一个月的事件时,为什么需要这么长的时间(例如 2-4 秒)呢?我开发的应用程序挂起...

我该如何解决这个问题?谢谢!

Java Android 日历

评论

0赞 Shreyas Sparrow 11/11/2023
您知道数据库中存在多少事件以及当月存在多少事件吗?如果数据库是你的,我建议使用数据库索引。
0赞 ubik41 11/12/2023
Helo,我正在使用 Android 日历数据库。一周内大约有 60 场活动,一个月内约有 250 场。数据库中必须有超过 1000 个事件。数据库索引是什么意思?
0赞 Shreyas Sparrow 11/12/2023
我的意思是,如果数据库是你的,你可以创建一个数据库索引来加快检索速度
0赞 ubik41 11/13/2023
不,数据库不是我的。它使用android数据库作为日历。看看 developer.android.com/reference/android/provider/......

答: 暂无答案