android - 安卓高效率获取截图问题?

 不必要有人假装很懂我_987 发布于 2022-10-30 16:05

手机有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以下版本

目前用的是第一种,不过截屏效率实在太慢了。

不知道还有没有别的效率高点的办法,求大神赐救~~

3 个回答
  • 你好 我是一名在校大学生 学安卓开发的 现在想做一个安卓共屏的软件 做了好久 也研究了好多东西 都没能搞定 在博客上看到您也在研究这方面的技术 希望咨询您一点技术上的问题 因为不知道怎么联系您 如果方便的话 您加我QQ 381855657 古人有云 帮助别人的同时自己也会快乐 (^__^) 嘻嘻 不胜感激!!!!!

    没朋友 2016/9/12 19:44:27

    2022-10-31 21:45 回答
  • 手机没有root,要截取的屏幕上有surfaceview,怎么实现截屏功能?

    2022-10-31 21:45 回答
  • 直接获取绘图缓存信息 view.getDrawingCache()
    然后 createBitmap 我这么做的

    2022-10-31 21:45 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有