- 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