有一个需求
: 我在sdcard中缓存了一些文件我想实现这样一个功能: 每俩小时清空一次 文件。 
这样当程序找不到sdcard中的文件的时候就会从网上下载最新的我该怎么实现? 是重新定义一个线程么?还是写一个 service ?

解决方案 »

  1.   

    最好还是用事件来触发,分析一下用户什么时候需要清空cache,比如登录时?操作结束时?
    或者你记录用户的最后一次动作时间,判断一下时间是否超过2小时根据我的经验,后台服务监控时间不是很可靠。。
      

  2.   


    也不是说监控,就是每俩小时就清空一次。 如果仅仅是这个需求 在后台开启一个线程可行么?还有定义一个service来实现靠谱。。我现在不太清楚的是, 如果新开一个线程, 当程序退出或者暂停的时候 该线程还能继续运行么?用service可以控制它一直在后台运行吧?
      

  3.   

    我觉得用以下东西就可以:
    IntentService, AlarmManager, PendingIntent.加一个BroardcastRecieverIntentService会自己开一个线程,AlarmManager加PendingIntent可以实现没两小时发个广播,然后Reciever启动这个Service,Service干完活后stop掉。