关于万年历的日程问题

时间:2021-06-03 11:09:09
最近在做一个类似万年历的应用,其中就是日程比较复杂,因为我做的那个日程是可重复的,总共有4种重复规则。1、按天重复(间隔天数即频率是可选的,即有可能是隔一天重复,也可能隔两天)   2、按周重复(频率也是可选的,并且可以选择星期几重复,例如星期3或者星期4,是多选的)   3、按月重复 (频率也是可选的,可指定月份中的固定一个日期,比如每月的4号或者每两个月的4号)  4、按年重复(频率也是可选的,可指定年份中的固定一个日期,比如每年的7月4号或者每两年的7月4号)。现在的问题是想加载一个月的日程数据,也就是算出某个月所含有的日程,具体要到天这个级别,也就是要算出1号有哪些日程,2号有哪些日程,一直算一个月。现在的问题是我自己写的算法比较烂,单次加载一个月的数据(解析出一个月所含有的日程数据)太慢了。不知道大家有没什么比较好的思路求分享一下,唯一的要求就是要求解析速度快,单次加载一个月所花的时间少。

4 个解决方案

#1


这个的话用数据库来存储和查询应该很快吧   难道你是写入到txt文件中?

#2


是用数据库存储和查询的,我是将数据库的数据查询出来保存到arraylist中,然后按需求的重复规则将重复日程转化为非重复日程(只转化当前查询的月份),最后显示在界面上的。但是解析速度太慢了,10个可重复日程差不多4,5秒,有时会飙到10s。其实就是想做到生活日历android版的那个日程列表滑动的效果。一直下拉列表却不会卡。

#3


楼主可以看看关于listview的优化 要是其它的卡的话我认为给一个异步线程加载Listview试试

#4


引用 3 楼 u011108841 的回复:
楼主可以看看关于listview的优化 要是其它的卡的话我认为给一个异步线程加载Listview试试

其实滑动起来不卡,就是单次算一个月的日程数据会很久,感觉是算法太复杂了,所以想问问有关算法方面的优化。

#1


这个的话用数据库来存储和查询应该很快吧   难道你是写入到txt文件中?

#2


是用数据库存储和查询的,我是将数据库的数据查询出来保存到arraylist中,然后按需求的重复规则将重复日程转化为非重复日程(只转化当前查询的月份),最后显示在界面上的。但是解析速度太慢了,10个可重复日程差不多4,5秒,有时会飙到10s。其实就是想做到生活日历android版的那个日程列表滑动的效果。一直下拉列表却不会卡。

#3


楼主可以看看关于listview的优化 要是其它的卡的话我认为给一个异步线程加载Listview试试

#4


引用 3 楼 u011108841 的回复:
楼主可以看看关于listview的优化 要是其它的卡的话我认为给一个异步线程加载Listview试试

其实滑动起来不卡,就是单次算一个月的日程数据会很久,感觉是算法太复杂了,所以想问问有关算法方面的优化。