搜尋

首頁  >  問答  >  主體

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

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

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

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

PHP中文网PHP中文网2772 天前635

全部回覆(3)我來回復

  • 怪我咯

    怪我咯2017-04-17 17:45:20

    直接取得繪圖快取資訊 view.getDrawingCache()
    然後 createBitmap 我這麼做的

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 17:45:20

    手機沒有root,要截取的螢幕上有surfaceview,怎麼實現截圖功能?

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:45:20

    你好我是一名在校大學生學安卓開發的現在想做一個安卓共屏的軟體做了好久也研究了好多東西都沒能搞定在博客上看到您也在研究這方面的技術希望諮詢您一點技術上的問題因為不知道怎麼聯絡您如果方便的話您加我QQ 381855657 古人有云幫助別人的同時自己也會快樂(^__^) 嘻嘻不勝感激! ! ! ! !

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

    回覆
    0
  • 取消回覆