DroidPlugin
DroidPlugin copied to clipboard
请教大神如何减少由宿主程序启动插件程序过程中,中间那个stub activity所需要的时间,这个activity时间占用太长了
host启动插件apk的时候中间会启动一个stub activity,这个时间占用会比较长,之前我有测试让中间这个stub activity不显示,也就是透明,这个会占用3-5秒的时间,也就是用户点击了启动插件的那个按钮这几秒看起来是没有任何反应的,也就是看上去这里特别卡,其实是在启动中间activity。我就想问下这里有什么可以优化的么(比如快速的finish掉)?或者可以自己改里面的样式么?让这个中间activity显示和后面插件的MainActivity样式一样,我之前有写一个activity让ActivityStub继承我那个activity,然后里面加上自己的样式,但是并没有什么卵用,囧
但是你要知道这些时间是不可能不需要的呀。。。插件的方式决定了必须要有时间加载,不过我觉得可以适当的优化一下用户体验,比如用Toast级别的悬浮View(不需要响应触摸效果,这会比创建Activity更省资源),之类的来提示用户。
主要是这个中间过程时间稍微有点长了,又不能在里面加个进度显示或者动画什么的,显得比较突兀,我想的是时间能不能再减少点,比如500ms这样加载完
我目前看到的情况是MyActivityManagerService下面的runProcessGC这个方法很占用时间,应该可以这里做下优化,大部分的时间就是被这里占用了, update 但是第一次启动还是要花时间的,和GC无关,大概要个1000ms这样,S5上测试,如果开着GC的话每次进去都是一样的时间,1000ms这样,如果关闭GC第一次大概1000ms这样,但是后面的每次进去大概就是60-90ms,所有我觉得可以从这里看下能不能优化GC以及可以做预加载
插件保持进程不被干掉,下次打开就不会出现努力加载中的空白界面 ,我用service 来保持插件的进程 不过第一次打开还是会加载的
@levianye 问一下,如何让这个中间的activity透明或者自定义?有相应的接口么,还是要修改DroidPlugin的源码