- MyFramework:基础框架,支持后台保活、多进程绑定、支持跨进程共享Binder
- MyUtil:util集合
- MyCommon:功能模块,包含了数据库、缓存、静默与非静默安装卸载等
初始化与关闭:
public class MainApp extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
Framework.get().config(new Config.Builder()
.authorities(base.getPackageName() + "." + ServerProvider.AUTHORITIES)
.serverProcess(base.getApplicationInfo().processName + ":framework")
.build());
Framework.get().startup(base, MyBinderServer.class);
}
}
/**
* 运行在framework进程
*/
public class MyBinderServer extends BaseBinderServer {
private static final Logger logger = LoggerFactory.getLogger("MyBinderServer");
private TestManagerServer testManager;
private Context context;
private TimerServer timerServer;
@Override
protected void create(Context context) {
this.context = context;
timerServer = new TimerServer();
timerServer.start(context);
Framework.addService(TestContext.TIMER_TASK_SERVER, timerServer);
}
@Override
protected void destroy() {
ThreadUtil.newCachedThreadPool().execute(new Runnable() {
@Override
public void run() {
Bundle bundle = Framework.get().getBundle("ggg");
while (bundle != null && !bundle.getBoolean("exit")) {
logger.error("hhh bundle.getBoolean(\"exit\") = " + bundle.getBoolean("exit"));
ThreadUtil.sleep(20);
bundle = Framework.get().getBundle("ggg");
}
logger.error("hhh destroy");
Framework.clearService();
timerServer.stop();
MyBinderServer.this.context = null;
}
});
}
@Override
protected void startService() {
MainService.start(context);
}
@Override
protected void stopService() {
MainService.stop(context);
}
}
public class App {
public void init() {
//初始化app
Framework.get().start();
}
public void deInit() {
//退出app
Framework.get().stop();
}
public static TimerManager getTimerManager() {
TimerManager test = Framework.getBinderProxy(TestContext.TIMER_TASK_SERVER, TimerManager.class);
return test;
}
}
Apache 2.0