Model层主要负责数据的获取,管理。面向上层提供数据存取。 AbsModel 是所有Model的父类,为model提供初始化的机会。与一个后台处理线程交互的入口。
在mainifests里注册Model 注册的Model会在Application启动时初始化。 没有注册就是懒加载,会在第一次使用时初始化。 在application的节点下加入,例:
<meta-data android:name="MODEL" android:value="com.jude.beamdemo.model.QuestionModel, com.jude.beamdemo.model.AccountModel" />
请这样编写单例
public class QuestionModel extends AbsModel { public static QuestionModel getInstance(){ return getInstance(QuestionModel.class); } }
##数据初始化
@Override protected void onAppCreate(Context ctx) { //这里会在Beam.init()时。在主线程上执行。 } @Override protected void onAppCreateOnBackThread(Context ctx) { //这里会在Beam.init()时。在后台线程上执行。 //主要用于初始化时文件/数据库读写。避免堵塞主线程造成启动时间过长。 }
##后台执行 runOnBackThread(Runnable runnable)即可让代码在后台线程运行。后台线程同为Looper线程。
runOnBackThread(Runnable runnable)
There was an error while loading. Please reload this page.