日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

android扫码优化

發(fā)布時(shí)間:2023/12/20 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android扫码优化 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

現(xiàn)在一維碼二維碼在我們的日常生活中使用如此的廣泛,所以擁有掃碼功能的APP變得非常普遍,一個(gè)安卓APP需要掃碼功能就要用到zxing了,zxing是谷歌開(kāi)源的讓開(kāi)發(fā)者更方便使用攝像頭的庫(kù),而我們常用的掃碼功能就是其中之一。但是因?yàn)閦xing的功能太強(qiáng)大了,包含了很多我們用不上的功能,所以一般都會(huì)抽取其中的掃碼功能單獨(dú)使用,這個(gè)抽取的過(guò)程還是有點(diǎn)麻煩的,但是已經(jīng)有很多開(kāi)發(fā)者為我們省去了這個(gè)過(guò)程,然后出現(xiàn)一個(gè)很棒的第三方zxing庫(kù):zxing-android-embedded。目前阿里旗下的weex技術(shù)內(nèi)部就是采用這個(gè)zxing-android-embedded解碼庫(kù)的。通過(guò)項(xiàng)目中代碼

compile 'com.journeyapps:zxing-android-embedded:3.4.0'???? 也能看出來(lái)weex內(nèi)嵌了這個(gè)掃碼庫(kù)。 ????通過(guò)實(shí)際的開(kāi)發(fā)與測(cè)試發(fā)現(xiàn),使用這個(gè)掃碼庫(kù),想要掃出我們公司的條碼是根本掃不出的(sis?app我是進(jìn)行優(yōu)化一部分的,最原生的掃碼連燈光開(kāi)啟也沒(méi)有,如果sis不開(kāi)啟燈光肯定掃不出來(lái)),那就要進(jìn)行優(yōu)化了,談到優(yōu)化,必定需要導(dǎo)入 zxing-android-embedded源碼 ??這個(gè)是所導(dǎo)入的源碼。 ????????接下來(lái)的工作就是進(jìn)行掃碼優(yōu)化,根據(jù)前人的經(jīng)驗(yàn)總結(jié),那么我掃碼優(yōu)化的方向分為以下幾點(diǎn):

1.? 通過(guò)調(diào)整掃描區(qū)域來(lái)優(yōu)化

???????Zxing 是google提供的二維碼掃描工程? 本身默認(rèn)的掃圖區(qū)域最大只有 360*480?,這樣的話(huà)我們的手機(jī)必須和條形碼在一個(gè)準(zhǔn)確的位置來(lái)進(jìn)行掃描,如果不在一個(gè)準(zhǔn)確的位置,那么很容易掃不到。

????????在CameraManager.java這個(gè)類(lèi)中進(jìn)行調(diào)整?
????????默認(rèn)的大小是 以下這4個(gè)參數(shù)?
????????????//? private static final int MIN_FRAME_WIDTH = 240;??
????????????//? private static final int MIN_FRAME_HEIGHT = 240;??
????????????//? private static final int MAX_FRAME_WIDTH = 480;??
????????????//? private static final int MAX_FRAME_HEIGHT = 360;??

????????????這樣可以根據(jù)屏幕大小調(diào)整,可以增大這些數(shù)值 : 最小的寬 高?; 最大寬高?。通過(guò)源碼的分析,這些參數(shù)的作用位置在CameraManager類(lèi)下所起到的作用。這里做成一個(gè)動(dòng)態(tài)取圖,根據(jù)攝像機(jī)與條碼的距離不同,來(lái)動(dòng)態(tài)設(shè)配掃描區(qū)域。

????????那么這里的四個(gè)參數(shù)自然用不上了,在代碼中注釋即可。

2. 精簡(jiǎn)解碼碼制

????目前 github 上Zxing 支持的碼制有以下的種類(lèi),通過(guò)源碼得到

// Product Codes public static final String UPC_A = "UPC_A"; public static final String UPC_E = "UPC_E"; public static final String EAN_8 = "EAN_8"; public static final String EAN_13 = "EAN_13"; public static final String RSS_14 = "RSS_14";// Other 1D public static final String CODE_39 = "CODE_39"; public static final String CODE_93 = "CODE_93"; public static final String CODE_128 = "CODE_128"; public static final String ITF = "ITF";public static final String RSS_EXPANDED = "RSS_EXPANDED";// 2D public static final String QR_CODE = "QR_CODE"; public static final String DATA_MATRIX = "DATA_MATRIX"; public static final String PDF_417 = "PDF_417";

????那么通過(guò)咨詢(xún)曹大哥工位牌項(xiàng)目用的是code_128的編碼方式,那么可以精簡(jiǎn)解碼的方式,只用code_128即可。這樣可以增加android內(nèi)部的系統(tǒng)運(yùn)行速度。提高解碼效率

?

3.??縮短自動(dòng)聚焦的間隔時(shí)間

????Zxing 默認(rèn)的聚焦間隔時(shí)間是2000毫秒。掃碼是在每一次調(diào)用相機(jī)聚焦完成后觸發(fā)回調(diào)取圖解析的。在這里縮短聚焦時(shí)間會(huì)提高解析頻率,掃碼性能自然就提升了。當(dāng)然也有不好的地方,提高了聚焦的頻率,對(duì)手機(jī)電量的消耗自然增加了。我這里是把聚焦間隔修改成了800毫秒。

總結(jié)

以上是生活随笔為你收集整理的android扫码优化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。