Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请教大神如何减少由宿主程序启动插件程序过程中,中间那个stub activity所需要的时间,这个activity时间占用太长了 #93

Open
levianye opened this issue Nov 30, 2015 · 5 comments

Comments

@levianye
Copy link

host启动插件apk的时候中间会启动一个stub activity,这个时间占用会比较长,之前我有测试让中间这个stub activity不显示,也就是透明,这个会占用3-5秒的时间,也就是用户点击了启动插件的那个按钮这几秒看起来是没有任何反应的,也就是看上去这里特别卡,其实是在启动中间activity。我就想问下这里有什么可以优化的么(比如快速的finish掉)?或者可以自己改里面的样式么?让这个中间activity显示和后面插件的MainActivity样式一样,我之前有写一个activity让ActivityStub继承我那个activity,然后里面加上自己的样式,但是并没有什么卵用,囧

@levianye levianye changed the title 请教大神如何减少由宿主程序启动插件程序过程中,中间那个stub activity所需要的时间 请教大神如何减少由宿主程序启动插件程序过程中,中间那个stub activity所需要的时间,这个activity时间占用太长了 Nov 30, 2015
@codehz
Copy link
Contributor

codehz commented Dec 3, 2015

但是你要知道这些时间是不可能不需要的呀。。。插件的方式决定了必须要有时间加载,不过我觉得可以适当的优化一下用户体验,比如用Toast级别的悬浮View(不需要响应触摸效果,这会比创建Activity更省资源),之类的来提示用户。

@levianye
Copy link
Author

levianye commented Dec 3, 2015

主要是这个中间过程时间稍微有点长了,又不能在里面加个进度显示或者动画什么的,显得比较突兀,我想的是时间能不能再减少点,比如500ms这样加载完

@levianye
Copy link
Author

我目前看到的情况是MyActivityManagerService下面的runProcessGC这个方法很占用时间,应该可以这里做下优化,大部分的时间就是被这里占用了,
update
但是第一次启动还是要花时间的,和GC无关,大概要个1000ms这样,S5上测试,如果开着GC的话每次进去都是一样的时间,1000ms这样,如果关闭GC第一次大概1000ms这样,但是后面的每次进去大概就是60-90ms,所有我觉得可以从这里看下能不能优化GC以及可以做预加载

@but455
Copy link

but455 commented Jun 20, 2016

插件保持进程不被干掉,下次打开就不会出现努力加载中的空白界面 ,我用service 来保持插件的进程
不过第一次打开还是会加载的

@Whoisurdady
Copy link

@levianye 问一下,如何让这个中间的activity透明或者自定义?有相应的接口么,还是要修改DroidPlugin的源码

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants