安卓高效率获取截图问题?
手机有Root,需要能在100ms左右完成截图并返回Bitmap的功能
目前了解到的想要获取到截图的Bitmap有几种
1:利用系统命令screenshot/screencap -p ,然后再读取,受手机限制,至少1500-2000ms,我在魅族MX5上反而用了3000。。完全无法忍受。
2:利用ddmlib,效率更低。。
3:读取framebuffer,这个在4.2以后的版本就失败了。只能读取黑屏或者带手机厂商logo的黑图。
4:反射系统自带的SurfaceControl方法,失败的,操作后没有任何提示,也得不到结果。
5:自编译的android.jar。方法可以调用,依然是操作后没有任何提示,应该是要添加systemuid。但是这样编译的话,只能在少部分手机上才能用,没什么意义。
6:在5.1以上版本使用MediaProjection,只需要60ms,不过不兼容5.1以下版本
目前用的是第一种,不过截屏效率实在太慢了。
不知道还有没有别的效率高点的办法,求大神赐救~~
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
你好 你的 安卓高效获取截图问题 现在 有更好的方案了么
我现在 也需要一个这样的 功能 ,打算 试试 framebuffer 见你里面说 4.2以后不能用了 这个是真的吗
哥们 问题解决了吗
直接获取绘图缓存信息 view.getDrawingCache()
然后 createBitmap 我这么做的
手机没有root,要截取的屏幕上有surfaceview,怎么实现截屏功能?
你好 我是一名在校大学生 学安卓开发的 现在想做一个安卓共屏的软件 做了好久 也研究了好多东西 都没能搞定 在博客上看到您也在研究这方面的技术 希望咨询您一点技术上的问题 因为不知道怎么联系您 如果方便的话 您加我QQ 381855657 古人有云 帮助别人的同时自己也会快乐 (^__^) 嘻嘻 不胜感激!!!!!
没朋友 2016/9/12 19:44:27