在android上做了个RSS聚合器,虽然是个很简单的东西,但我还是必须说还是有点设计的。
1、最简单实现
写几个用到的Activity,在这几个界面间跳转,完成所有功能。
缺点:1、单线程,UI会被网络访问阻塞
2、实现逻辑为直线线,对错综复杂的逻辑跳转回显得很笨拙
2、C/S模式实现
主服务MainService为主线程,把各种要做的事情抽象为任务Task,交给MainService的handler处理,循环检测任务,为每个任务启动一个线程去执行。
定义一个接口IRSSActivity:
//所有的Activity都实现这个接口 public interface IRSSActivity { //init中创建任务,交给MainService,让它去做 public void init(); //刷新Activity,MainService回调这个方法,实现在Task结束的时候刷新UI public void refresh(Object...param); }
优点:1、在任何地方,想要做什么事情,只需要交给MainService一个Task就像,它就回去做,若需要再刷新UI。
仍存在问题:如何处理内存,进行内存控制管理。