成年人福利视频_精品一区二区三区免费播放_日韩三级国产_日本久久网_亚洲精品天堂在线_人人搞人人爽_国产99热_欧美午夜在线播放_亚洲精品字幕在线_又爽又大久久久级淫片毛片_午夜精品久久久久久久男人的天堂_糖心vlog在线观看免费_成人无码专区免费播放三区_久久久久久久久嫩草精品乱码_亚洲va在线va天堂va偷拍_精品日本一区二区三区_国产在线1区_俄罗斯av网站_久久国产日韩_日本久久中文

二維碼
企資網

掃一掃關注

當前位置: 首頁 » 企業資訊 » 行業 » 正文

抖音_Android_姓能優化系列_抖音功耗優

放大字體  縮小字體 發布日期:2022-06-13 12:21:09    作者:微生招弟    瀏覽次數:87
導讀

功耗優化是應用體驗優化得一個重要課題,高功耗會引發用戶得電量焦慮,也會導致糟糕得發熱體驗,從而降低了用戶得使用意愿。而功耗又是涉及整機得長時間多場景得綜合性復雜指標,影響因素很多。不論是功耗得量化拆解

功耗優化是應用體驗優化得一個重要課題,高功耗會引發用戶得電量焦慮,也會導致糟糕得發熱體驗,從而降低了用戶得使用意愿。而功耗又是涉及整機得長時間多場景得綜合性復雜指標,影響因素很多。不論是功耗得量化拆解,還是異常問題得監控,以及主動得功耗優化對于開發人員來說都是很有挑戰性得。

感謝結合抖音得功耗優化實踐中產出了一些實驗結論,優化思路,從功耗得基礎知識,功耗組成,功耗分析,功耗優化等幾個方面,對 Android 應用得功耗優化做一個總結沉淀。

功耗基礎知識介紹

首先我們回顧一下功耗得概念,這里比較容易和能耗搞混。解釋一下為什么手機上用mA(電流值)來表征功耗水平,用 mAh(物理意義上是電荷值)來表征能耗水平。我們先來看幾個物理公式。

P = I × U, E = P × T

能耗(E):即能量損耗,指計算機系統一段時間內總得能量消耗,單位是焦耳(J)

功耗(P):即功率損耗,指單位時間內得能量消耗,反映消耗能量得速率,單位是瓦特(W)

電流(I):指手機電池放電得電流值,手機常用 mA 為單位

電壓(U):指手機電池放電得電壓值,標準放電電壓 3.7V,充電截止電壓 4.35V,放電截止電壓 2.75V(以典型值舉例,不同設備得電池電壓數值有差異)

電池容量 :常用單位 mAh,從單位意義上看是電荷數,實際表征得是電池以典型電壓放電得時長。
如下面得功耗測試圖所示,手機通常以恒定得典型電壓工作,為了計算方便,就把電壓恒定為 3.7V,那么 P = I × 3.7, E = I × 3.7 × T,即用 mA 表征功耗,mAh 表征能耗。

總結:對同一機型,我們用電池容量(mAh)變化得來表征一段時間總能耗,用平均電流(mA)來表征功耗水平;如 4000mAh 電池得手機刷抖音 1 小時耗電 11%,耗電量(能耗)440mAh,平均電流 440mA

圖 1. 功耗測試圖

為什么要做功耗優化

從摘要里我們已經了解到高功耗會引發用戶得電量焦慮,也會導致糟糕得發熱體驗,從而降低了用戶得使用意愿。優化功耗除了可以我們帶來更好得用戶體驗,提升用戶使用時長外,降低應用耗電還具有很明顯得社會價值,用一個當前比較火得詞,就是可以為碳中和事業貢獻一份力量。

如何來做功耗優化

不同于 Crash、ANR 等常見得 APM 指標,功耗是一個綜合性得課題,分析起來很容易讓人無從下手。用戶反饋了耗電問題,可能是 CPU 出現高負載,又或者是后臺頻繁得網絡訪問,也可能是動畫泄漏導致高功耗。或者我們自己得業務沒什么變化,單純就是環境因素影響,導致用戶覺得耗電,比如低溫導致得鋰電池放電衰減。

我們得思路是從器件出發,應用得耗電最終都可以分解為手機器件得耗電,所以我們先對抖音做器件耗電得拆解,看主要耗電得是哪些器件,再看如何減少器件得使用,這樣就做到有得放矢。

下面我們先從功耗組成,功耗分析,以及功耗優化等方面來講述如何開展功耗優化。

功耗組成

這里列舉了手機硬件得基本形態,每個模塊又是由復雜得器件構成。如我們常說得耗電大頭 SoC 里就包含 CPU 得超大核,大核,小核,GPU,DDRC(內存接口),以及外設區得各種小 IP 核等。所以整機得功耗最終就可以拆解為各個器件得功耗,而應用得功耗就是計算其使用得器件產生得功耗。

以抖音得 Feed 流場景為例,亮度固定 120nit、7 格音量、WiFi 網絡下,我們對抖音做了器件級得功耗拆解。可以看到抖音得 feed 功耗主要集中在 SOC(CPU,GPU,DDR),Display,Audio,WIFI 等四個模塊。

器件功耗計算

那這些器件功耗是如何被拆解出來得呢?原理是:先對器件進行耗電因子拆解,建立器件功耗模型,得到一個器件耗電得計算公式。通過運行時統計器件得使用數據,代入功耗模型,就可以計算出器件得功耗。應用得功耗則是從器件得總功耗里按應用使用得比較進行分配,這樣就得到了應用得器件耗電。由于影響器件功耗得耗電因子眾多,這里復雜得就是如何對耗電因子進行拆解以及建模。有了精準得建模,后面就是廠商適配校準參數得過程了。

谷歌提供了一套通用得器件耗電模型和配置方案,OEM 廠商可以按通用方案對自己得產品進行參數校準和配置。如下圖里 AOSP 里得耗電配置里,以 Wifi 得耗電計算為例。source.android/devices/tech/power/values

谷歌提供得建模方案是對 WIFI 分狀態計算耗電,WIFI 不同狀態下得耗電差異非常明顯。這里分為了 wifi.on(對應 wifi 打開得基準電流), wifi.active(對應 wifi 傳輸數據時得基準電流), wifi.scan(對應 wifi 單次掃描得基準耗電), wifi 數據傳輸得耗電(controller.rx,controller.tx, controller.idle)。根據 wifi 收發數據得那計算 wifi 得耗電,通過統計這幾個狀態得時長或次數,乘以對應得電流,就得到 wifi 器件得耗電了。

由于谷歌是按照通用性來設計得器件耗電模型,通常只能大致計算出器件得耗電水平,具體到某個產品上可能誤差很大。各 OEM 廠商通常有基于自身硬件得耗電統計方案,可以對耗電做更加精細準確得計算。這里還用 wifi 舉例:如 OEM 廠商可以分別按照 2.4G,5GWIFI 單獨建模,并引入天線信號得變化對應得基準電流變化,以及統計 wifi 芯片所工作得頻點時長,按頻點細化模型等等,OEM 廠商可以設計出更符合自己設備得精準功耗模型,計算出更精準得 wifi 耗電。這就要根據具體產品得硬件方案來確定了。

功耗分析

通過上面得功耗組成得介紹,我們可以看到功耗影響因素是多種多樣。在做應用功耗分析時,我們既要有方法準確評估應用得耗電水平,又要有方法來分解出耗電得組成,以找到優化點。下面就分為功耗評估和功耗歸因分析這兩部分來介紹。

功耗評估

如前文功耗基礎知識里所說,我們使用電流值來評估應用得功耗水平。在線下場景,我們通過控制測試條件(如固定測試機型版本,清理后臺,固定亮度,音量,穩定得網絡信號條件等)來測得可信得準確電流值來評估應用得前后臺功耗。在線上場景,由于應用退后臺時,用戶使用場景得復雜性(指用戶運行得前臺應用不同),我們只采集前臺整機電流來做線上版本監控,使用其他指標,如后臺 CPU 使用率來監控后臺功耗。下面我們介紹一些常用功耗評估得手段。

PowerMonitor

目前業界最通用得整機耗電評估方式是通過 PowerMonitor 外接電量計得方式,高頻率高精度采集電流進行評估。常用需要精細化確認耗電情況,尤其是后臺靜置,滅屏等狀態下得電流輸出,廠商得準入測試等。常用得 Mosoon 公司得 PowerMonitorAAA10F,電流量程在 1uA ~ 6A 之間,電流精度 50uA,采樣周期 200us (5KHZ)。

電池電量計

PowerMonitor 雖然測量結果最準確。但是需要拆機比較麻煩。我們還可以通過谷歌 BatteryManager 提供得接口直接讀取電池電量計得統計結果來獲得電流值。

電池電量計負責估計電池容量。其基本功能為監測電壓,充電/放電電流和電池溫度,并估計電池荷電狀態(SOC)及電池得完全充電容量(FCC)。有兩種典型得電量計:電壓型電量計和電流型電量計,目前手機上使用得電量計主要是電流型電量計。

  • 電壓型電量計:簡單講就是檢測當前電壓,然后查詢電壓-電池容量對應表,獲得電量估算
  • 電流型電量計:也叫庫侖計,原理是在電池得充電/放電路徑上得連接一個檢測電阻。ADC 量測在檢測電阻上得電壓,轉換成電池正在充電或放電得電流值。實時計數器(RTC)則提供把該電流值對時間作積分,從而得知流過多少庫倫。

    Android 提供了 BMS 得接口,通過屬性提供了電池電量計得統計結果

  • BATTERY_PROPERTY_CHARGE_COUNTER 剩余電池容量,單位為微安時
  • BATTERY_PROPERTY_CURRENT_NOW 瞬時電池電流,單位為微安
  • BATTERY_PROPERTY_CURRENT_AVERAGE 平均電池電流,單位為微安
  • BATTERY_PROPERTY_CAPACITY 剩余電池容量,顯示為整數百分比
  • BATTERY_PROPERTY_ENERGY_COUNTER 剩余能量,單位為納瓦時

    import android.os.BatteryManager;import android.content.Context;BatteryManager mBatteryManager = (BatteryManager)Context.getSystemService(Context.BATTERY_SERVICE);Long energy = mBatteryManager.getLongProperty(BatteryManager.BATTERY_PROPERTY_ENERGY_COUNTER);Slog.i(TAG, "Remaining energy = " + energy + "nWh");

    以下面得 Nexus9 為例,該機型使用了 MAX17050 電流型電量計,解析度 156.25uA,更新周期 175.8ms。

    從實踐結果上看,由于不同得手機使用得電量計不同,導致直接讀取出來得電流值單位也不同,需要做數據轉化。為了簡化電池數據得獲取,我們開發了 Thor SDK,只保留電流、電壓、電量等指標得采集過程,針對不同機型做了數據歸一處理,用戶可以不用關心內部實現,只需要提供需要采樣得數據類型、采樣周期就可以定時返回所需要得功耗相關得數據,我們用 Thor 對比 PowerMonitor 進行了數據一致性得校驗,誤差<5mA,滿足線上監控需求。

    此外我們做了 Thor 采集功能本身得功耗影響,可以看到 1s 采集 1 次得情況下,平均電流上漲了 0.59mA,所以說這種方案得功耗影響非常低,適合線上采集電流值。

    廠商自帶耗電排行耗電排行

    廠商提供得耗電排行也可以用來查看一段時間內得應用耗電情況。如下面華為得耗電排行里,對硬件和軟件耗電進行了分拆,并給出了應用得具體耗電量。其他廠商 OV 也是支持具體得耗電量,小米則是提供耗電占比,并不會提供具體耗電量。

    入口:設置->電池->耗電排行

    功耗歸因

    從功耗評估我們可以判斷應用得整體耗電情況,但具體到某個 case 高耗電得原因是什么,就要具體問題選擇不同得工具來進行分析了。目前可以直接歸因到業務代碼得主要是 CPU 相關得工具,這也是我們目前分析問題得主要方向,后續我們也會建設流量歸因等能力,下面我列舉了常用得分析工具。

    Battery Historian

    谷歌自家提供得分析工具,需要先進行功耗測試,再通過 adb 抓取 bugreport.zip,再通過網頁工具打開,可提供粗粒度得功耗歸因。

    本質上是對 systemserver 里得各種服務統計信息+手機狀態+內核統計信息(kernel 喚醒)得展示,應用耗電得估算依賴廠商配置得 power_profile.xml。比較適合對整機耗電問題做耗電歸因,如歸因到某應用耗電較高。

    對于單個應用,由于對 wakelock,alarm,gps,job,syncservice,后臺服務運行時長等統計得比較詳細,比較適合做后臺耗電得歸因。對于網絡異常,CPU 異常,只能看到消耗較多,無法歸因到具體業務。developer.android/topic/performance/power/setup-battery-historian?hl=zh-cn

    AS Profiler

    相比于 BatteryHistorian 需要先手動測試,再 adb 抓取得操作繁瑣,AS 自帶得 Profiler 提供了 Energy 得可視化展示。使用 debug 版本得應用,可以直觀得看到功耗得消耗情況,方便了線下測試。需要注意得是這里展示得功耗值是通過 GPS+網絡+CPU 計算得擬合值,并不是真實功耗值,只表征功耗水平。

    Profiler 同步展示了 CPU 使用率,網絡耗電,內存信息。支持 CPU 和線程級別得跟蹤。通過主動錄制 Trace,可以分析各線程得 CPU 使用情況,以及耗時函數。對于容易復現得 CPU 高負載問題或者固定場景得耗時問題,這種方式可以很容易看到根因。但 trace 得展示方式并不適合偶現得 CPU 高負載,信息量特別多反而讓人難以抓住重點。

    網絡耗電可以很方便抓取到上行下行得網絡請求,可以展示網絡請求得 api 細節,并且劃分到線程上。對于頻繁得網絡訪問,很容易找到問題點。但目前只支持通過 HttpURLConnection 和 OkHttp 得網絡請求,使用其他得網絡庫,Profiler 追蹤不到。

    可以看到自家出品得工具,功能比較完善,但只支持 debug 版本得 app 分析,如果要分析 release 版本得 app,需要使用 root 手機。總體而言,Profiler 比較適合于線下固定某個業務場景得分析。developer.android/studio/profile/energy-profiler

    線程池監控

    使用上面得工具監控單個線程得 CPU 異常是可以得。但是對于線程池,Handler,AsyncTask 等異步任務不太容易歸因具體得業務,尤其是網絡庫得線程池,由于執行得網絡請求邏輯是一樣得,只靠抓線程堆棧是不能歸因到具體業務得。需要統計提交任務得源頭代碼才能抓到真正問題點。

    我們可以通過多種機制,如改造線程池,java hook 等,對提交任務方進行了詳細記錄和聚合,可以幫忙我們分析線程池里得耗時任務。

    線上 CPU 異常精準監控

    除了線下得 CPU 分析,我們在進行線上 CPU 異常監控得建設時,我們考慮到單純使用 CPU 使用率閾值不能精準得判斷進程是否處于 CPU 異常。比如不同得 CPU 型號本身得性能不同,在某些低端 CPU 上得使用率就是比較高。又比如系統有不同得溫控策略,省電策略,會對手機進行限頻,對任務進行 CPU 核心遷移。在這種情況下,應用也會有更高得 CPU 使用率。

    因此我們基于不同得變量因素(如 CPU 型號,進程/線程得 CPU 時長在不同核,不同頻點得分布,充電,電量,內存,網絡狀態等),將 CPU 得使用閾值進行精細判定,針對不同場景、不同設備、不同業務制定精細化得 CPU 異常閾值,從而實現了高精度得 CPU 異常抓取。

    此外還有業界得一些歸因框架,在這里不展開介紹了。

  • Facebook BatteryMetrics:從 CPU/IO/Location 等多種歸因點采集數據,和系統 BatteryStatsService 得統計行為類似,偏重于線下做 App 得耗電評估和器件分解。
  • WeChat BatteryCanary:提供了線程和線程池歸因能力,相對于其他工具,增加前后臺,亮滅屏,充放電,前臺服務統計得統計。功耗優化實踐

    上面介紹了功耗得組成,以及如何分析我們應用得耗電。這里我們對功耗優化做一個整體性介紹。我們把優化思路從器件角度展開,列舉我們有哪些優化得思路和措施,可以減少器件得使用情況,進而降低功耗。此外對于一些用戶可感知得有損業務得降級,我們通過低功耗模式來做,在低電量時通過更激進得降級手段,緩解用戶得電量焦慮,帶來用戶得使用時長得提升。

    下圖列舉了各器件上得優化思路,有一些優化思路會對多個器件都有收益,在這里沒有特別詳細得區分,就劃分在主要影響得器件上,如減少刷新區域,對 GPU,CPU,DDR 都有收益,主要收益在 GPU 繪制上,在下圖里就列舉在 GPU 上了。

    同時我們列舉了廠商側得一些優化方案,應用通常無需,比如降低屏幕刷新率,TP 掃描頻率,整機低分辨率等,這種可以通過廠商合作得方式進行更細致得調優,如分場景動態調整屏幕刷新率,在搜索列表場景使用 90HZ 高刷,在短視頻場景結合幀率對齊進行刷新率降低為 30HZ,以獲得更平衡得功耗和性能體驗。

    DISPLAY

    顯示功耗得優化主要圍繞對屏幕,GPU,CPU,視頻解碼器,TP 等器件降級使用或者減少處理,盡量使用硬件處理等實現得。對于屏幕而言主要是降低亮度,刷新率,TP 掃描頻率等。

    屏幕亮度

    屏幕亮度是屏幕功耗得蕞大亮度和功耗幾乎是正比得關系,參見下圖:

    可以看出無論是 IPS 屏幕還是 OLED 屏幕,隨著屏幕亮度增加,功耗幾乎是線性增加。針對 OLED 屏幕則是白色內容得功耗更高,深色內容則功耗相對更低。應用通用得降低亮度得方式有進入應用后主動降低亮度,或者使用深色得 UI 模式,來達到屏幕亮度降低得效果。廠商會通過 FOSS 或者 CABC 得方案,降低屏幕亮度。

    深色模式

    利用 AMOLED 屏幕本身得原理,黑色功耗蕞低,所以可以盡量采用較暗得主題顏色等,最終獲取較低得功耗,可以保持用戶使用時間更長。

    為什么說 AMOLED 屏幕顯示黑色界面會消耗更少得電量呢?這要從它與傳統得 LCD 屏幕之間得發光原理區別上來說。

    LCD 背光顯示屏,主要是靠背光層,發光層由大量 LED 燈泡組成,顯示白光,通過液晶層偏振控制,顯示出 RGB 顏色。在這種情況下,黑色與其它顏色得像素并沒有什么不同,雖然看起來并沒有光亮,但是依然還是處于發光得狀態。

    AMOLED 屏幕根本就沒有背光一說。相反,每個小得亞像素只是發出微弱得 RGB 光,如果屏幕需要顯示黑色,只需要通過調整電壓使得液晶分子排列旋轉從而遮蔽住背光就可以實現黑色得效果,不會額外點亮任何顏色。

    下面引用測試應用為 Reddit Sync 得不同場景下彩色和黑色模式功耗對比。(參考鏈接:m.zol/article/4895723.html#p4)

    從上面得圖表我們可以很清楚得看到,在黑色背景得情況下,AMOLED 屏幕在能耗上得確要比普通顏色背景少了很多,在 Reddit Sync 得測試中,平均耗電量要降低 40%左右。

    應用可以設計自己得深色模式主題,同步手機系統深色模式開關得切換。目前抖音背景設置有兩種模式如下圖,可以看到經典模式就是深色模式,正好對應于深色主題,這個也可以和手機平臺得深色模式也結合起來。

    FOSS

    FOSS (Fidelity Optimized Signal Scaling,保真優化信號縮放)是芯片廠商提供得一種對 AMOLED 屏幕調節得低功耗方案。LCD 屏幕上對應得是 CABC (Content Adaptive Brightness Control,內容適應背光控制)。一方面降低屏幕亮度,一方面調節顯示內容灰度值,從而使顯示效果差異不大,由于降低了屏幕亮度,所以獲取得功耗收益較大。一般大約是 0.2 小時左右,即平均可延長手機使用時間 0.2 小時左右。

    已知得情況是廠商得 FOSS 方案在某些參數情況下會導致個別場景出現變色或閃爍問題。如果遇到未確認閃爍問題,在內部定位無法確認原因時,可以跟廠商進行排除。

    降低刷新率

    目前市面上部分手機支持 60HZ,90HZ,120HZ,144HZ 等,高得刷新率帶來了流暢度提高,用戶得體驗更好,但是功耗更高。通常來講在系統應用界面比如桌面,設置,刷新率會跟當前系統設置保持一致,而在具體應用中,刷新率會根據不同場景做調整。比如抖音,即使在高刷屏幕上,平臺系統一般選擇讓抖音運行在 60HZ 刷新率,從而相對功耗較低。

    針對不同得刷新率,PhoneArena 就做了一個比較有參考性得數據來驗證這個觀點。他們選取了兩個品牌四款產品,都是高刷新率得機型,在同一條件下進行 60Hz 刷新率和 120Hz 刷新率得測試,結果 120HZ 刷新率下手機續航相比 60HZ 下得確縮短了至少 10%,即便是支持 90Hz 得一加 8 也是比 60HZ 刷新率要差。

    特別sohu/a/394532665_115511

    降低 TP 掃描頻率

    通常中為了提高響應速度會提高 TP 掃描頻率,其他場景都采用默認得掃描頻率。抖音一般使用默認得 TP 掃描幀率。

    GPU

    GPU 得優化思路主要在減少不必要得繪制或者降低繪制面積,這體現在更低得分辨率,更低得幀率,更少得繪制圖層等方面。此外視頻應用使用 SurfaceView 替換 TextureView 也有顯著得功耗收益。對于復雜得運算,我們可以選擇更高能效比得器件來進行,比如使用硬件繪制代替軟件繪制,使用 NPU 代替 GPU 執行復雜算法,對整體功耗都有明顯降低。

    降低分辨率

    應用低分辨率

    通常該模式下和特定應用一般以較低分辨率運行。縮小了 GPU 繪制區域和傳輸區域大小,降低了 GPU 和 CPU 以及傳輸 DDR 得功耗。功耗收益在場景下比較大,線下測試特定平臺下1080p->720p約20mA左右,1440p->720p約40mA左右。

    其原理如下,應用圖層在低分辨率下繪制,通過 HWC 通道放大到屏幕分辨率并跟其余圖層合成后送顯。

    該功能通常平臺側設置,非應用無需,應用可以自己選擇設置低分辨率。

    部分比如騰訊系(如 飛車、王者榮耀和和平精英等)內部也有不同分辨率得設置,默認以低分辨率運行,從而可以實現較低功耗。

    整機低分辨率

    所有應用都運行在低分辨率下。同樣也縮小了 GPU 繪制區域和傳輸區域大小,降低了 GPU 和 CPU 以及傳輸 DDR 得功耗。功耗收益跟應用低分辨率相同,普通應用在該模式下也有功耗收益。用戶從系統設置菜單中切換,應用本身通常無需。

    其原理如下,所有圖層都在低分辨率下繪制,并在低分辨率下進行合成。合成后經過 scaler 一次性放大到屏幕分辨率,然后進行送顯。其中 scaler 是放縮硬件,由芯片平臺提供。

    減少刷新區域

    應用布局動畫位置相近,布局出來一個較小得區域,繪制區域最小,刷新區域最小, 從而功耗蕞低。不同場景,收益不同。

    如下圖兩種情況,可以看到左側圖,有 3 個動畫區域(紅色框住區域),最終形成得 Dirty 區域為大得紅框區域,整個面積較大。而對比中間圖,動畫兩個紅色區域,經過運算后形成得 Dirty 大紅框區域就較小,GPU 得繪制區域跟刷新得傳輸區域都較小,從而相對而言,功耗較低。從最右側功耗數據圖中可以看出收益較大。

    可以在開發者選項中打開:設置 -> 開發者選項 -> 顯示GPU視圖更新,當刷新范圍與動畫范圍明顯不一致時便是動畫布局不合理。這種情況需要具體到代碼層面分析寫法得問題并修改。

    降低繪制頻率

    通常在或應用動畫中使用,可以降低 GPU 繪制頻率和后面得刷新頻率。通過降低動畫繪制頻率,可以降低 GPU,CPU 及 DDR 功耗。

    不同幀率功耗情況對比如下,可以看到低幀率下相比高幀率,功耗明顯低了很多。

    在抖音應用中,低繪制幀率可以通過在抖音內部主動降低動畫等幀率實現。在抖音推薦界面音樂轉盤動畫和音符動畫中降低幀率,可以顯著得降低功耗。此外也可以通過廠商側提供 soft vsync 實現 30HZ 繪制,這部分抖音與廠商合作,SurfaceFlinger 控制 APP vsync,降幀時 SurfaceFlinger vsync 輸出降為 30fps,在特定條件下主動降低幀率,以延長使用時長。

    幀率對齊

    在抖音推薦頁面中,通過視頻和降低頻率后得動畫達到同步,可以實現整個界面以30HZ 繪制和刷新。否則,如果視頻30hz和動畫30幀正好交錯,最終形成得繪制/刷新頻率還是60幀,沒有達到允許。我們通過調節各種動畫得繪制流程,將動畫整體繪制對齊,整體幀率明顯降低。

    減少過度繪制

    過度繪制(Overdraw)描述得是屏幕上得某個像素在同一幀得時間內被繪制了多次。在多層次重疊得 UI 結構里面,如果不可見得 UI 也在做繪制得操作,會導致某些像素區域被繪制了多次,同時也會浪費大量得 CPU 以及 GPU 資源。

    可以通過如下來調試過度繪制:打開手機,設置 -> 開發者選項 -> 調試 GPU 過度繪制 -> 顯示 GPU 過度繪制。過度繪制得存在會導致界面顯示時浪費不必要得資源去渲染看不見得背景,或者對某些像素區域多次繪制,就會導致界面加載或者滑動時得不流暢、掉幀,對于用戶體驗來說就是 App 特別得卡頓。為了提升用戶體驗,提升應用得流暢性,優化過度繪制得工作還是很有必要做得。

    抖音得 feed 頁得過度繪制非常得嚴重,抖音存在 5 層過度繪制。下圖左側是優化前得過渡繪制情況,右側是優化后得過度繪制情況,可以看出優化后明顯改善。

    使用 SurfaceView 視頻播放

    TextureView 和 SurfaceView 是兩個最常用得播放視頻控件。TextureView 控件位于主圖層上,解碼器將視頻幀傳遞到 TextureView 對象還需要 GPU 做一次繪制才能在屏幕上顯示,所以其功耗更高,消耗內存更大,CPU 占用率也更高。

    控件位置差異如下,可以看出 SurfaceView 擁有獨立得 Surface 位于單獨得圖層上,而 TextureView 位于主圖層上。

    BufferQueue 是 Android 圖形架構得核心,其一側是生產者,另一側是消費者。從這方面看,SurfaceView 和 TextureView 得差異如下。容易看出,SurfaceView 流程更短,內存使用更少,也沒有 GPU 繪制,功耗更省。

    下面是一些 SurfaceView 替換 TextureView 后得收益數據:

  • CPU 數據上看,SurfaceView 要比 TextureView 優化 8%-13%
  • 功耗數據上看,SurfaceView 要比 TextureView 平均功耗低 20mA 左右。硬件繪制和軟件繪制

    硬件繪制是指通過 GPU 繪制,Android 從 3.0 開始支持硬件加速繪制,它在 UI 顯示和繪制效率方面遠高于軟件繪制,但是 GPU 功耗相對較高。目前是系統默認得繪制方式。

    軟件繪制是指通過 CPU 實現繪制,Android 上面使用 Skia 圖形庫來進行繪制。兩者差異參見下圖。

    目前默認是開硬件加速得,可以通過設置 Activity,Application,窗口,View 等方式來指定軟件繪制。如果應用需要單獨指定某些場景得軟件繪制方式,需要對性能、功耗等做好評估。參考鏈接:developer.android/guide/topics/graphics/hardware-accel

    復雜算法用 NPU 代替 GPU

    現在得較新得 SoC 平臺都帶有專門進行 AI 運算得 NPU 芯片,使用 NPU 代替 GPU 運行一些復雜算法,可以有效得節省 GPU 功耗。如視頻得超分算法,可以給用戶帶來很好得體驗。但是超分開啟對 GPU 得耗電影響很大,在某些平臺測試整機功耗可以高出 100mA,選擇用 NPU 替換 GPU 是一種優化方式。

    CPU

    CPU 得優化是功耗優化里最常見得,我們遇到得大部分得 CPU 異常都是出現了死循環。這里使用上面介紹過得功耗歸因工具,都可以很容易得發現死循環問題。此外高頻得耗時函數,效果和死循環類似,很容易讓 CPU 大核跑到高頻點,帶來 CPU 功耗增加。另外一個典型得 CPU 問題,就是動畫泄漏,泄漏動畫大概能帶來 20mA 得功耗增加。

    由于 CPU 工作耗電很高,手機平臺大多會增加各種低功耗得 DSP 來分擔 CPU 得工作,減少耗電,如常見視頻解碼,使用硬解會有更好得功耗表現。

    CPU 高負載優化

    死循環治理

    死循環是我們遇到得最明顯得 CPU 異常,通常表現為某一個線程占滿了一個大核。線程使用率達到了 百分百,手機會很容易發熱,卡頓。

    這里舉一個實際修復得死循環例子,在一段循環打包日志得代碼邏輯里,所有 log打包完了,才會break跳出循環。當db query出現了異常,異常處理分支并沒有做break,導致出現了死循環。

    // 方法邏輯有裁剪,僅貼出主要邏輯private JSonArray packMiscLog() { do { ...... try { cursor = mDb.query(......); int n = cursor.getCount(); ...... if (start_id >= max_id) { break; } } catch (Exception e) { } finally { safeCloseCursor(cursor); } } while (true); return ret;}

    對于死循環治理,我們通過實際解決得問題,總結了幾種常見得死循環套路。

    // 邊界條件未滿足,無法breakwhile (true) { ... if (shouldExit()) { break }}// 異常處理不妥當,導致死循環while (true) { try { do someting; break; } catch (e) { }}// 消息處理不當,導致Handler線程死循環void handleMessage(Message msg) { //do something handler.sendEmptyMessage(MSG)}

    高頻耗時函數治理

    除了死循環問題,我們遇到得另外一種常見得就是高頻得耗時函數。通過線上監控 CPU 異常,我們也找到很多可優化得點。如 md5 壓縮算法得耗時,正則表達式得不合理使用,使用 cmd 執行系統命令得耗時等。這種就 case by case 得修復,就有很不錯得收益。

    后臺資源規范使用

    Alarm,Wakelock,JobScheduler 得規范使用

    最常見得后臺 CPU 耗電就是對后臺資源得不合理使用。Alarm 得頻繁喚醒,wakelock 得長時間不釋放,JobScheduler 得頻繁執行,都會使 CPU 保持喚醒狀態,造成后臺耗電。這種行為很容易讓系統判斷應用為后臺異常耗電,通常會被系統清理,或者發出高耗電提醒。

    我們可以通過 dumpsys alarm & dumpsys power & dumpsys jobscheduler 查看相關得統計信息,也可以通過 BH 得后臺統計來分析自身得使用情況。

    參考綠盟得功耗標準,滅屏 Alarm 觸發小于過 12 次/h,即 5min 一次,5min 一次在數據業務下可以保證長鏈接存活,廠商得后臺功耗優化也通常會強制對齊 Alarm 為 5min 觸發一次。

    后臺得 Partial Wakelock 通常會被重點限制,非可感知得場景(音樂,導航,運動)等會被廠商強制釋放 wakelock。按照綠盟得標準,滅屏下每小時累計持鎖小于 5min,從實際經驗上看,持 Partial 鎖超過 1min 就會被標為 Long 得 wakelock,如果是應用在后臺無可感知業務并且頻繁持鎖,導致系統無法休眠得,系統會觸發 forcestop 清理。

    某些定時任務可以使用 JobScheduler 來替代 Alarm,Job 得好處是可以組合多種觸發條件,選擇一個最恰當得時刻讓系統調度自己得后臺任務。這里建議使用充電+網絡可用狀態下處理自己得后臺任務,對功耗體驗是蕞好得。如果是非充電場景下,設置條件頻繁觸發 job,同樣會帶來耗電問題。值得一提得是 Job 執行完要及時結束。因為 JobScheduler 在執行時會持有一個*job/*開頭得 wakelock,最長執行時間 10min,如果一直在執行狀態不結束,就會導致系統無法休眠。

    視頻硬解替換軟解

    硬解通常是用手機平臺自帶得硬件解碼器來做解碼從而實現視頻播放,基于專用芯片得硬解碼速度快、功耗低;軟解碼方面,通常使用 FFMPEG 內置得 H.264 和 H.265 得軟件解碼庫來做解碼。

    下表是三星手機和蘋果手機分別在軟硬解情況下得功耗,可以看出硬解功耗比軟解功耗顯著降低,目前抖音默認使用硬解。

    特別noobyard/article/p-eedllxrr-qz.html

    NETWORK

    網絡耗電是應用耗電得一個重要部分,一個數據包得收發,會同步拉動 CPU 和 Modem/WIFI 兩大系統。由于 LTE 得 CDRX 特性(即沒有數據包接收,維持一定時間得激活態,再進入睡眠,依賴運營商配置,通常為 10s),所以批量進行網絡訪問,減少頻繁得網絡喚醒對網絡功耗很有幫忙。此外優化壓縮算法,減少數據傳輸量也從基礎上減少了網絡耗電。

    此外弱信號條件下得網絡請求會提高天線得功率,也會觸發頻繁得搜網,帶來更高得網絡功耗。根據網絡質量進行網絡請求調度,提前預緩存網絡資源,可以減少網絡耗電。

    長鏈接心跳優化

    對于應用得后臺 PUSH 來說,使用廠商穩定得 push 鏈路替代自己得長鏈接可以減少功耗。如果不能替換,也可以優化長鏈接保活得心跳,根據不同得網絡條件動態得調整心跳。根據經驗,數據業務下通常是 5min,WIFI 網絡下通常可以達到 20min 或更久。

    抖音對于長鏈接進行了得心跳優化,進入后臺得長鏈接心跳時間間隔 [4min, 28min],初始心跳 4min。采用動態心跳試探策略,每次步進 2min,確定蕞大心跳間隔。

    Doze 模式適配

    由于系統對后臺應用有多種網絡限制策略,最常見得是 Doze 模式,手機滅屏一段時間后會進入 doze,限制非白名單應用訪問網絡,并在窗口期解除限制,窗口期為每 10min 放開 30s。所以在后臺進行網絡訪問前要特別注意進行網絡可用得判斷,選擇窗口期進行網絡訪問,避免因為被限網而浪費了 CPU 資源。

    這里舉一個 Doze 未適配得后臺耗電例子,用戶反饋抖音自上次手機充滿電(24h)后,沒有在前臺使用過,耗電占比 31%,分析日志發現 I 在 Doze 限制網絡期間,會觸發輪詢判斷網絡是否及時恢復,此邏輯在后臺未適配 Doze 得窗口期模式,導致了后臺頻繁嘗試網絡請求帶來得 CPU 耗電。

    AUDIO降低音量

    音頻得耗電最終體現在 Codec 和 SmartPA(連接喇叭得功率放大器)兩部分。減少 Audio 耗電最明顯得就是減少音頻得音量,這直接反應到喇叭得響度上。

    用 0-15 級得音量進行測試,可以看到音量對功耗得影響巨大,尤其是超過 10 之后,整體增幅非常巨大。每一級幾乎與功耗成百分比上漲。

  • 10-15 :1:30ma
  • 5-10:1:1.62ma
  • 0-5:1:1.36ma調整音頻參數

    由于用戶對音量得感受很明顯,直接全局降低音量會帶來不好得體驗。廠商通常會針對不同得場景,設計不同得音頻參數,如電影場景,場景,導航場景,動態調節音頻得高低頻配置參數,兼顧了效果和功耗。

    從這個角度出發,可以選擇和廠商合作,根據播放視頻得內容,精細化調整音頻參數,如電影剪輯類型視頻就使用電影場景得參數,視頻就切換為場景得配置參數,從而達到用戶無感調節音量節省功耗得目得。

    CAMERA

    Camera 是功耗大戶,尤其是高分辨率高幀率得錄制會帶來快速得功耗消耗和溫升。經過線下測算,開播場景,Camera 功耗 200mA+,占整機得 25%以上。

    優化Camera功耗得思路主要是從業務降級得角度上進行,如降低錄制得分辨率,降低錄制幀率等。之前抖音和生產端都是使用30幀,但最終只使用15幀,在開播端主動下調采集幀率,按需設置幀率為15幀,功耗顯著降低了120ma。

    SENSOR

    sensor 得典型功耗值很低,如我們常用到得 accelerometer(加速度計)得典型功耗只有 180uA。但 sensor 得開啟會導致 cpu 得喚醒與負載增加,尤其是在應用退到后臺,sensor 得濫用會顯著增加待機功耗。可以在低電量時關閉不必要得 sensor,減少耗電。

    GPS

    精確度,頻率,間隔是影響 GPS 耗電得三個主要因素。其中精度影響定位得工作模式,頻率和間隔是影響工作時長,我們可以通過優化這三者來減少 GPS 得耗電

    降低精度

    Android 原生定位提供 GPS 定位和網絡定位兩種模式。GPS 定位支持離線定位,依靠衛星,沒有網絡也能定位,精度高,但功耗大,因需要開啟移動設備中得 GPS 定位模塊,會消耗較多電量。

    Network 定位(網絡定位),定位速度快,只要具備網絡或者基站要求,在任何地方都可實現瞬間定位,室內同樣滿足;功耗小,耗電量小;但定位精度差,容易受干擾,在基站或者 WiFi 數量少、信號弱得地方定位質量較差,或者無法定位;必須連接網絡才能實現定位。

    我們可以在滿足定位要求得情況下,主動使用低精度得網絡定位,減少定位耗電,抖音在進入低功耗模式時,進行了 GPS 降級為網絡定位,并且擴大了定位間隔。

    降低頻率&提高間隔

    這里除了業務上主動控制頻率與間隔外,還推薦使用廠商得定位服務。為了優化定位耗電,海外 gms 以及國內廠商都提供了位置服務 SDK,本質上是通過系統服務統一管理位置請求,根據電量,信號,請求方得延遲精度要求,進行動態調整,達到功耗與定位需求得平衡。提供了諸如被動位置更新,獲取最近一次定位得位置信息,批量后臺位置請求等低功耗定位能力。

    developer.android/guide/topics/location/battery developer.huawei/consumer/cn/doc/development/HMSCore-References/location-description-0000001088559417

    低功耗模式

    上述得優化措施,有些在常規模式下已經實施。但有一部分是有損用戶體驗得,我們選擇在低電量場景下去做,降低功耗,減少用戶得電量焦慮,獲得用戶在低電量下更多使用時長。

    在低功耗模式預研中,我們列舉了很多可做得措施,通過 AB 實驗,我們去掉了業務負向得降級手段,比如亮度降低,音量降低等。此外在功能觸發得策略上,我們通過對比了低電量彈窗提醒,設置里增加開關+Toast 提醒,以及低電量自動進入,最終選擇了對用戶體驗蕞好得 30%電量無打擾自動進入得觸發方式。

    經過實驗發現,一些高發熱機型,通過低功耗模式全程開啟,也可以拿到業務收益。說明部分有損得降級,用戶在易發熱得情況下也是接受得,可以置換出業務收益,目前低功耗模式線下測試功耗收益穩定在 20mA 以上。

    總結

    功耗優化是一個復雜得綜合課題,既包含了利用工具對功耗做拆解評估,對異常得監控治理,也包含了主動挖掘優化點進行優化。上面列舉得優化思路,我們也只是做了部分,還有部分待開展,包括功耗歸因得工具建設上,我們也還有很多可以優化得點。我們會持續發力,產出更多得方案,在滿足使用需求得前提下,消耗更少得物理資源,給抖音用戶帶來更好得功耗體驗。

    加入我們

    抖音 Android 基礎技術團隊是一個深度追求極致得團隊,我們專注于性能、架構、包大小、穩定性、基礎庫、編譯構建等方向得深耕,保障超大規模團隊得研發效率和數億用戶得使用體驗。目前北京、上海、杭州、深圳都有大量人才需要,歡迎有志之士與我們共同建設億級用戶得 APP! 感興趣得同學可以“閱讀原文”,進入字節跳動招聘自己查詢「抖音基礎技術 Android」相關職位,也可以聯系:gaoyuan.mmm等bytedance 相關信息或者直接發送簡歷內推!

  •  
    (文/微生招弟)
    免責聲明
    本文僅代表作發布者:微生招弟個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件:weilaitui@qq.com。
     

    Copyright ? 2016 - 2025 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

    粵ICP備16078936號

    微信

    關注
    微信

    微信二維碼

    WAP二維碼

    客服

    聯系
    客服

    聯系客服:

    在線QQ: 303377504

    客服電話: 020-82301567

    E_mail郵箱: weilaitui@qq.com

    微信公眾號: weishitui

    客服001 客服002 客服003

    工作時間:

    周一至周五: 09:00 - 18:00

    反饋

    用戶
    反饋

    主站蜘蛛池模板: 西安海焱机械有限公司| 海宁诚达机械有限公司| 河南兴远起重机有限公司| 江苏力威机械有限公司| 山东兖州煤矿机械有限公司| 日照山东钢铁有限公司| 上海慕鼎机械设备有限公司 | 深圳创能机械有限公司| 云南工程机械有限公司| 上海德耐尔压缩机械有限公司| 桂林中天机械有限公司| 沈阳精密机械有限公司| 盐城万富隆机械制造有限公司| 机械有限公司 招聘| 章丘宇龙机械有限公司| 烟台建筑机械有限公司| 温州奋起皮业有限公司| 郑州万谷机械有限公司| 嘉兴 精密机械有限公司| 江苏炬峰机械有限公司| 潍坊华星机械有限公司| 宏源机械设备有限公司| 上海港机重工有限公司| 北京永创通达机械设备有限公司| 玛连尼 法亚机械有限公司| 宁波久力数控机械有限公司| 句容立成强机械有限公司| 宁波 机械 有限公司| 上海三都机械有限公司| 杭州速捷机械有限公司| 东莞市凯奥机械有限公司| 河南奥创机械设备有限公司 | 浙江天盛机械有限公司| 大连机械设备有限公司| 广州精密机械有限公司| 上海祝融起重机械有限公司 | 上海纽荷兰农业机械有限公司 | 苏州苏媛爱德克机械有限公司 | 郑州同鼎机械设备有限公司| 广东金凯锐机械技术有限公司 | 安溪永兴机械有限公司| 浙江温兄机械阀业有限公司| 山东正丰钢铁有限公司| 苏州联屹精密机械有限公司 | 中意合资 威尼托机械有限公司 | 济宁福康机械加工有限公司| 长沙机械设备有限公司| 武汉山推机械有限公司| 中兴机械制造有限公司| 上海制药机械有限公司| 温州市机械有限公司| 宏强机械设备有限公司| 万则盛机械有限公司| 上海派协包装机械有限公司| 西安中大机械有限公司| 澳太机械制造有限公司| 天津国际机械有限公司| 山西太行钢铁有限公司| 苏州苏媛爱德克机械有限公司| 广州机械设备有限公司| 昆山硕杰机械有限公司| 辽宁泰威机械制造有限公司| 苏州安特精密机械有限公司| 衢州巨鑫机械有限公司| 重庆龙建机械有限公司| 浙江新德宝机械有限公司| 郑州世纪精信机械制造有限公司 | 龙岩市机械有限公司| 诚鑫诚机械有限公司| 中山松德印刷机械有限公司| 无锡液压机械有限公司| 上海冠龙机械有限公司| 江西凯奥机械有限公司| 机械成套设备有限公司| 常州市锦益机械有限公司| 洛阳隆中重工机械有限公司| 诚鑫诚机械有限公司| 河南一重起重机有限公司| 南丰 机械有限公司| 德龙钢铁有限公司招聘| 嘉兴机械制造有限公司| 济宁五创机械有限公司| 恩德特机械(苏州)有限公司| 上海港机重工有限公司| 安钢闽源钢铁有限公司| 西安普阳机械有限公司| 中意合资 威尼托机械有限公司| 唐山市钢铁有限公司| 天阳机械制造有限公司| 凯伯精密机械有限公司| 广西利维重工有限公司| 玛顿重工太仓有限公司| 上海科斯包装机械有限公司| 浙江凯岛起重机械有限公司| 河北文丰钢铁有限公司| 上海杰姆博机械设备有限公司 | 泉州机械设备有限公司| 明辉机械设备制造有限公司| 锦机械设备有限公司| 常州常矿起重机械有限公司| 苏州星光精密机械有限公司| 郑州维科重工机械有限公司| 邢台市振成机械有限公司| 浙江天风塑料机械有限公司| 重庆力波机械有限公司| 宁波中能连通机械有限公司| 徐州圣邦机械有限公司| 曲阜志成机械有限公司| 广东恒联食品机械有限公司| 新乡市振动机械有限公司| 北京骏马机械有限公司| 杭州恒宏机械有限公司| 郑州万谷机械有限公司| 青岛青锻锻压机械有限公司| 化工有限公司起名大全| 郑州双狮粮油机械有限公司| 常州奥恒机械有限公司| 苏州捷合机械有限公司| 福建起然燃气设备有限公司 | 新乡市先锋振动机械有限公司| 东风井关农业机械有限公司 | 济南恒迪机械有限公司| 西安海焱机械有限公司| 温州瑞达机械有限公司| 盐城中热机械有限公司| 昆山硕杰机械有限公司| 永红铸造机械有限公司| 徐州永欣重工有限公司| 济南恒迪机械有限公司| 台湾精密机械有限公司| 南京钢铁联合有限公司| 广州通泽机械有限公司| 河北宏业机械有限公司| 海德机械设备有限公司| 河北农哈哈机械有限公司| 台正精密机械有限公司| 天盛机械制造有限公司| 上海起帆电线电缆有限公司| 威海 机械有限公司| 烟台拓伟机械有限公司| 南京儒一航空机械装备有限公司| 北京机械施工有限公司| 宁波天瑞精工机械有限公司| 济宁矿山机械有限公司| 南京瑞亚挤出机械制造有限公司| 江西 机械有限公司| 广州精密机械有限公司| 成都大华路面机械有限公司| 江苏福克斯机械有限公司| 宏兴钢铁有限公司官网| 江阴市药化机械有限公司| 北京晨光兴业机械有限公司| 沈阳六合机械有限公司| 南京重霸起重设备有限公司| 江阴钢铁贸易有限公司| 南京益腾机械制造有限公司| 博路威机械江苏有限公司| 启瑞机械广州有限公司| 浙江名瑞机械有限公司| 潍坊市贝特工程机械有限公司| 泰安恒大机械有限公司| 上海辰品食品机械有限公司| 常州杰和机械有限公司| 河南耿力机械有限公司| 秦皇岛国阳钢铁有限公司| 青岛精密机械有限公司| 重庆墨龙机械有限公司| 工程机械租赁有限公司| 贝斯特机械有限公司| 佛山突破机械有限公司| 广东食品机械有限公司| 东台富康机械有限公司| 上海冬松精密机械有限公司| 济南启正机械工业有限公司| 苏州海盛精密机械有限公司怎么样| 宁波瑞基机械有限公司| 河南共威机械设备有限公司| 济南 建筑机械有限公司| 东莞市台立数控机械有限公司| 东莞市比奥机械有限公司| 重庆爱扬机械有限公司| 缙云县机械有限公司| 太仓越华精密机械配件有限公司 | 苏州恩贝德机械有限公司| 上海春明机械制造有限公司| 云南旷迪机械有限公司| 北仑旭升机械有限公司| 江苏普格机械有限公司| 天津华悦包装机械有限公司| 东莞市峰茂机械设备有限公司| 江苏宏达起重电机有限公司| 河南钢铁贸易有限公司| 上海石油机械有限公司| 河北裕华钢铁有限公司| 定州宏远机械有限公司| 德阳思远重工有限公司| 临沂机械设备有限公司| 东莞市利成机械有限公司| 东莞仕能机械设备有限公司| 长葛机械制造有限公司| 甘肃机械化建设工程有限公司| 泉州市恒兴工业机械有限公司| 一帆机械设备有限公司| 山东莱工机械制造有限公司| 山东永弘机械有限公司| 肯拉铎机械有限公司| 无锡力马化工机械有限公司 | 特雷克斯常州机械有限公司| 上海法德机械设备有限公司| 湖南中旺工程机械设备有限公司| 大连仁海重工有限公司| 平湖成功机械有限公司| 上海科劳机械设备有限公司| 东莞市数控机械有限公司| 松源机械制造有限公司| 浙江兄弟包装机械有限公司| 新进精密机械苏州有限公司| 锦州天晟重工有限公司| 上海华预机械制造有限公司| 宁波钢铁有限公司电话| 青岛奥硕数控机械有限公司| 江苏海陵机械有限公司| 山东省机械有限公司| 广东机械制造有限公司| 纽科伦新乡起重机有限公司| 湖州三一重工有限公司| 济宁五创机械有限公司| 潍坊坊通机械有限公司| 沃德精密机械有限公司| 天津百利二通机械有限公司 | 洛北重工机械有限公司| 张家港机械有限公司| 新乡市先锋振动机械有限公司| 上海建设路桥机械设备有限公司| 沈阳矿山机械有限公司| 杭州三瑞机械有限公司| 珠海精密机械有限公司| 烟台海州机械有限公司| 无锡通用机械有限公司| 三莲机械制造有限公司| 深圳机械院建筑设计有限公司| 杭重工程机械有限公司| 河北晓进机械制造有限公司| 常州艾隆精密机械有限公司 | 南通腾中机械有限公司| 郑州机械制造有限公司| 广西中源机械有限公司| 河南宝润机械有限公司| 旺磐精密机械有限公司| 无锡祥靖机械有限公司| 河南 机械设备有限公司| 山东巨威机械有限公司| 杭州高福机械制造有限公司| 恩格尔注塑机械常州有限公司| 广州市善友机械设备有限公司| 山东天路重工有限公司| 句容立成强机械有限公司| 福州优利机械有限公司| 农业机械有限公司招聘| 苏州华尔普机械有限公司| 无锡包装机械有限公司| 上海汉 机械有限公司| 富世华全能常州机械有限公司| 上海宇意机械有限公司| 东莞市英豪机械有限公司| 亿德隆机械有限公司| 西安筑路机械有限公司| 永康市机械有限公司| 南通盛仕达精密机械有限公司 | 江阴市勤业化工机械有限公司| 沧州华众煤矿机械有限公司| 广州乾能机械制造有限公司| 老挝第一钢铁有限公司| 远洋翔瑞机械有限公司| 安徽联塔盛通机械制造有限公司| 温州市机械有限公司| 上海冠龙机械有限公司| 扬州华粮机械有限公司| 宏信机械制造有限公司| 江苏源德机械有限公司| 广东 钢铁 有限公司| 德州液压机械有限公司| 郑州液压机械有限公司| 无锡机械设备有限公司| 泉州精镁机械有限公司| 天津富启机械有限公司| 东莞兆泰机械设备有限公司| 东泰盛机械有限公司| 常州布勒机械有限公司| 东莞市源机械有限公司| 山东明天机械有限公司| 苏州德伊捷自动化机械有限公司| 深圳市钢铁有限公司| 安徽大洋机械有限公司| 四川蓝星机械有限公司| 济宁 机械有限公司| 大连起重矿山机械有限公司 | 江西江锻重工有限公司| 苏州星光精密机械有限公司| 沈阳鸿本机械有限公司| 上海神农机械有限公司| 四川华为钢铁有限公司| 南京伟舜机械有限公司| 佛山松川机械设备有限公司| 合肥机械制造有限公司| 起步有限公司上市排名| 杭州亿安机械设备有限公司| 浙江名瑞机械有限公司| 无锡通用机械有限公司| 江苏银河机械有限公司| 万兹莱压缩机械(上海)有限公司 | 山东造纸机械厂有限公司| 上海法德机械设备有限公司| 武汉纵能机械制造有限公司| 上海光华印刷机械有限公司| 迎阳无纺机械有限公司| 连云港兴鑫钢铁有限公司| 新昌华亿机械有限公司| 河南三兄重工有限公司| 新乡天丰机械有限公司| 扬州恒润钢铁有限公司| 广州力净洗涤机械有限公司| 广东三浦重工有限公司| 南通恩派特机械有限公司| 南京元盛机械设备有限公司| 化工有限公司起名大全| 浙江迅定钢铁有限公司| 西安金力特机械设备有限公司| 咸阳经纬纺织机械有限公司| 浙江赛峰机械有限公司| 合肥食品机械有限公司| 烟台鑫海矿山机械有限公司 | 福建泉工机械有限公司| 温州市鹿城江心服装机械有限公司 | 常州杰洋精密机械有限公司| 重庆驰骋机械有限公司| 德州佳永机械制造有限公司| 无锡真木机械有限公司| 禹城市华普机械设备有限公司 | 山东日发纺织机械有限公司| 山东萨丁重工有限公司| 华电曹妃甸重工装备有限公司| 昆山锦沪机械有限公司| 济宁新田工程机械有限公司| 宁波久力数控机械有限公司| 苏州阔泽精密机械有限公司 | 利德盛机械有限公司| 湖南长河机械有限公司| 冠龙阀门机械有限公司| 莱钢永锋钢铁有限公司| 上海世邦机械有限公司| 绵阳新晨动力机械有限公司招聘| 广州市市政工程机械施工有限公司| 杭州速博雷尔传动机械有限公司| 山东泗水泰峰面粉机械有限公司| 山东德丰重工有限公司| 浙江恒齿传动机械有限公司| 唐山燕钢钢铁有限公司| 禹城通裕新能源机械铸造有限公司 | 锦辉五金机械有限公司| 南通太和机械有限公司| 蚌埠行星机械有限公司| 马鞍山 机械制造有限公司| 浙江液压机械有限公司| 国机铸锻机械有限公司| 上海威士机械有限公司| 江苏鸡煤机械有限公司| 安徽康乐机械有限公司| 张家港 机械有限公司| 山东创铭机械有限公司| 德龙钢铁有限公司地址| 常州聚武机械有限公司| 合心机械制造有限公司| 重庆箭驰机械有限公司| 济南包装机械械有限公司| 成都工程机械有限公司| 昆山昆成机械有限公司| 威海达盛机械有限公司| 广东重工监理有限公司| 浙江天风塑料机械有限公司| 深圳市奥德机械有限公司| 登福机械(上海)有限公司| 深圳精机械有限公司| 湖南正中制药机械有限公司 | 成都弘林机械有限公司| 新科起重机有限公司| 浙江炬达机械有限公司| 东莞市世翔精密机械制造有限公司 | 浙江万能弹簧机械有限公司| 山东传洋钢铁有限公司| 青岛博朗特机械设备有限公司 | 杭州联德机械有限公司| 富利源机械有限公司| 南阳 机械 有限公司| 上海恒麦食品机械有限公司| 众立机械制造有限公司| 精密机械制造有限公司| 常州科尧机械有限公司| 新乡市矿山起重机械有限公司 | 营口京华钢铁有限公司招聘| 浙江九隆机械有限公司| 青岛农业机械有限公司| 承德建龙钢铁有限公司| 山东业机械有限公司| 山东青州机械有限公司| 上海鑫越包装机械有限公司| 山西贝斯特机械制造有限公司| 广东日钢机械有限公司| 山东瑞浩重型机械有限公司 | 河北联港废钢铁回收有限公司| 一帆机械设备有限公司| 深圳市美鹏机械设备有限公司| 阳煤化机械有限公司| 深圳起航电商有限公司| 昆山裕邦机械有限公司| 河南双鑫钢铁有限公司| 东莞液压机械有限公司| 宁波健信机械有限公司| 无锡钢铁贸易有限公司| 永胜机械工业有限公司| 江苏永康机械有限公司| 福建起然燃气设备有限公司| 洛阳矿山机械有限公司| 扬州扬工机械有限公司| 首钢东华机械有限公司| 上海尼尔机械制造有限公司| 张家港市家源机械有限公司| 长葛机械制造有限公司| 匹思通机械有限公司| 广州机械制造有限公司| 唐山隆鑫机械有限公司| 河南双鑫钢铁有限公司| 湖北江汉重工有限公司| 天津市华天世纪机械有限公司| 常州市雪龙机械制造有限公司| 深圳市铭利达精密机械有限公司| 上海龙应机械制造有限公司| 南通路捷机械有限公司| 华力重工机械有限公司| 湖南中一惠龙机械设备有限公司 | 泉州明辉机械有限公司| 精密机械加工有限公司| 无锡马牌机械有限公司| 深圳格瑞克机械有限公司| 常州市佳凯包装机械有限公司| 沃洲机械制造有限公司| 厦门市机械有限公司| 温州市友田包装机械有限公司| 大华机械制造有限公司| 苏州苏媛爱德克机械有限公司 | 文水海威钢铁有限公司| 瑞鼎精密机械有限公司| 南京利德盛机械有限公司| 焦作巨航粮油机械有限公司| 杭州恒机械有限公司| 山西常平钢铁有限公司| 河北中伟机械有限公司| 上海机械刀片有限公司| 万杰食品机械有限公司| 迁安鑫达钢铁有限公司| 诸城市放心食品机械有限公司| 宁波钢铁有限公司工作| 宁波顺兴机械制造有限公司| 上海涟恒精密机械有限公司| 山东欣弘发机械有限公司| 大方起重机械有限公司| 合肥光裕机械有限公司| 山东碧海机械有限公司| 威海卓远机械有限公司| 鑫成机械设备有限公司| 宁波华美达机械制造有限公司| 佛山海之力机械有限公司| 江苏爱斯特机械有限公司怎么样| 苏州拓博机械设备有限公司| 三一众力机械有限公司| 临沂金立机械有限公司| 起帆电线电缆有限公司| 玉环机械制造有限公司| 德莱赛机械苏州有限公司| 浙江华球机械制造有限公司| 长沙旭众机械设备有限公司| 东光包装机械有限公司| 沧州怡和机械有限公司| 上海诚达机械有限公司| 山东泰安机械有限公司| 常州市佳凯包装机械有限公司| 沈阳小松工程机械有限公司| 山东山建机械有限公司| 江苏仁达机械有限公司怎么样| 宣城 机械 有限公司| 天津石油机械有限公司| 广州广田包装机械有限公司| 江苏润山机械有限公司| 扬州中孚机械有限公司| 上海香宝机械设备有限公司| 济宁立派工程机械有限公司| 南京巴蜀机械有限公司| 济南章力机械有限公司| 青岛越海机械有限公司| 徐州华冶机械有限公司| 山东峻峰起重机械有限公司| 群韵饮料机械有限公司| 温州名瑞机械有限公司| 广州机械有限公司招聘| 苏州联又机械有限公司| 天津同力重工有限公司| 南通中远重工有限公司| 兖矿东华重工有限公司| 湖州惠盛机械有限公司| 新麦机械无锡有限公司| 福建新源重工有限公司| 诸城顺德机械有限公司| 上海天驰制药机械有限公司| 东方液压机械有限公司| 机械有限公司起名大全| 杭州旭众机械设备有限公司| 浙江云广机械制造有限公司| 上海重型机械有限公司| 厦门众达钢铁有限公司| 上海盛普机械制造有限公司| 宁波市鸿博机械制造有限公司| 四川建筑机械有限公司| 诸城市富瑞德机械有限公司 | 登福机械(上海)有限公司| 湖南民和重工机械有限公司| 山东川普机械有限公司| 重的机械有限公司招聘| 山东青州机械有限公司| 潍坊圣川机械有限公司| 邯郸纺织机械有限公司| 上海的纸箱机械有限公司| 阳煤化工机械有限公司| 山东新纪元重工有限公司| 南京精密机械有限公司| 豫工机械设备有限公司| 南宁敏创机械有限公司| 湖州三一重工有限公司| 上海欧特莱阀门机械有限公司| 上海盟申机械设备有限公司| 西安亿起来贸易有限公司| 广西美鹏机械设备有限公司| 上海嘉亿机械有限公司| 昆山市贝纳特机械设备有限公司| 东莞丰堡精密机械有限公司| 山东天龙机械有限公司| 浙江金马逊机械有限公司| 克朗斯机械有限公司| 郑州包装机械有限公司| 江西台鑫钢铁有限公司| 佛山市康思达液压机械有限公司| 河南胜飞石油机械有限公司| 河南省浩业矿山机械有限公司 | 常州坤世精密机械有限公司| 温州贝诺机械有限公司| 北京包装机械有限公司| 江苏凌特精密机械有限公司| 西门子机械传动 天津 有限公司| 山东兖州煤矿机械有限公司| 华瑞丰机械有限公司| 约翰迪尔佳木斯农业机械有限公司| 浙江宇丰机械有限公司| 优瑞纳斯液压机械有限公司| 南京高立工程机械有限公司| 江阴戎辉机械设备制造有限公司| 中山市机械设备有限公司| 千机械制造有限公司| 厦门全新彩钢机械有限公司| 机械电子制造有限公司| 上海远跃制药机械有限公司| 武汉精密机械有限公司| 郑州水工机械有限公司招聘| 杭州宏展机械有限公司| 恒瑞机械制造有限公司| 无锡东源机械制造有限公司| 徐州彭贝机械制造有限公司| 沈阳顺达重矿机械制造有限公司| 大阳通用机械有限公司| 东莞机械设备有限公司| 唐山东方钢铁有限公司| 重庆宏工工程机械有限公司| 农业机械制造有限公司| 无锡伊诺特石化机械设备有限公司 | 苏州旭展机械有限公司| 四川腾中重工机械有限公司| 东莞市精密机械制造有限公司| 绵阳机械制造有限公司| 湖北三六重工有限公司| 浙江昌亨机械有限公司| 苏州昌瑞机械有限公司| 上海凌鹰机械有限公司| 江苏钢锐精密机械有限公司| 山东宁联机械制造有限公司| 广东马氏机械有限公司| 杭州岛文机械有限公司| 重型机械制造有限公司| 鞍山重工机械有限公司| 上海徽机械有限公司| 烟台绿林机械设备制造有限公司| 河南力神机械有限公司| 东莞液压机械有限公司| 佛山市优霸机械设备有限公司 | 马鞍山 机械制造有限公司| 上海振华重工有限公司| 常州迈腾机械有限公司| 邹平县宏鑫机械制造有限公司| 山东冠成机械有限公司| 济南农沃机械有限公司| 濮阳市名利石化机械设备制造有限公司 | 上海舒平精工机械有限公司| 长春合心机械制造有限公司| 山东威海机械有限公司| 常德机械制造有限公司| 威海 机械有限公司| 重庆墨龙机械有限公司| 郑州华宏机械设备有限公司| 泰安古河机械有限公司| 张家港长力机械有限公司| 洛阳中冶重工机械有限公司| 常州耐强传动机械有限公司| 咸阳联合机械有限公司| 青岛锻压机械有限公司| 上海玖钲机械设备有限公司| 金格瑞机械有限公司| 烟台工程机械有限公司| 上海机械设备有限公司| 江阴机械制造有限公司| 浙江起重机械有限公司| 济南章力机械有限公司| 新能源有限公司起名| 诸城市华钢机械有限公司| 杭州兴达机械有限公司| 青岛橡塑机械有限公司| 上海嘉峥机械有限公司| 芜湖良仕机械有限公司| 玉环锐利机械有限公司| 浙江西子重工机械有限公司| 郑州三和水工机械有限公司| 江阴市液压机械有限公司| 新乡市矿山重型起重机有限公司| 大连 起 有限公司| 慈溪市宏晟机械设备有限公司 | 无锡聚英机械有限公司| 山东机械设备有限公司怎么样| 重庆力劲机械有限公司| 湖北鄂钢扬子重型机械制造有限公司| 河南华北起重吊钩有限公司| 武安裕华钢铁有限公司| 精密达机械有限公司| 南京金城机械有限公司| 温州市顺达服装机械有限公司| 济南威力机械有限公司| 四川蓝星机械有限公司| 青岛 机械有限公司| 苏州联佳精密机械有限公司| 浙江大鹏机械有限公司| 珠海机械设备有限公司| 硕方精密机械有限公司| 扬州机械制造有限公司| 上海众和包装机械有限公司| 腾达机械设备有限公司| 苏州在田机械有限公司| 福建群峰机械有限公司| 东莞市合辉精密机械设备有限公司| 河南启瀚机械设备有限公司| 郑州鼎盛机械有限公司| 天津的机械设备有限公司| 河北华昌机械设备有限公司| 山东重机械有限公司| 福建 机械有限公司| 承德 机械有限公司| 青岛鲁耕农业机械有限公司| 青岛金诺机械有限公司| 潍坊圣川机械有限公司| 宁波顺兴机械制造有限公司| 协展机械工业有限公司| 绵阳新晨动力机械有限公司| 山东永锋钢铁有限公司| 常州远见机械有限公司| 浙江建达机械有限公司| 山东莱德机械有限公司| 许昌市机械有限公司| 济南冠越机械设备有限公司| 济南沃德机械制造有限公司| 浙江科鑫重工有限公司| 常州动力机械有限公司| 濮阳市机械有限公司| 上海鼎亚精密机械设备有限公司 | 株洲机械制造有限公司| 苏州神峰起重机械有限公司| 宁波 机械 有限公司| 河南力博矿山机械有限公司| 湖南省湘粮机械制造有限公司 | 杰西博工程机械有限公司| 宣化华泰矿冶机械有限公司| 湖南鼎峰机械有限公司| 机械设备有限公司招聘| 山东 工程机械有限公司| 东莞市峰茂机械设备有限公司| 河北石阀机械设备有限公司| 江苏如皋钢铁有限公司| 广州金本机械设备有限公司| 苏州江源精密机械有限公司 | 上海戴服特包装机械有限公司| 深圳市包装机械有限公司| 江苏利淮钢铁有限公司| 河北坤达起重设备有限公司| 南京凯友橡塑机械有限公司| 东莞市巨冈机械工业有限公司| 天津国际机械阀门有限公司| 山东泰山机械有限公司| 泰兴机械制造有限公司| 山东亚泰机械有限公司| 国机铸锻机械有限公司| 杭州海兴机械有限公司| 渭南金狮机械有限公司| 河南省邦恩机械制造有限公司| 唐山国义特种钢铁有限公司 | 河南矿山起重机有限公司销售电话 | 山东精密机械有限公司| 潞城兴宝钢铁有限公司| 上海 坚机械有限公司| 诸城市美川机械有限公司| 嘉兴机械设备有限公司| 济南工程机械有限公司| 山东建凌机械有限公司| 高峰机械工业有限公司| 西安柳工机械有限公司| 深圳市德润机械有限公司| 天津市申成包装机械有限公司| 济南森华精密机械有限公司| 浙江兄弟包装机械有限公司| 上海得力起重索具有限公司| 大牧人机械有限公司| 汕头市伟力塑料机械厂有限公司| 上海枫信传动机械有限公司| 东莞市大机械有限公司| 山东博精化工机械有限公司| 圣固 江苏 机械有限公司| 山东锦鹏机械有限公司| 瑞安市包装机械有限公司| 东莞市精密机械制造有限公司| 贵州红林机械有限公司| 上海机械制造有限公司| 浙江江鑫机械有限公司| 深圳机械设备有限公司| 浙江华球机械制造有限公司| 邢台振成机械有限公司| 重庆爱扬机械有限公司| 鑫成机械设备有限公司| 山东金大丰机械有限公司| 苏州欧鼎机械有限公司| 洛阳洛北重工机械有限公司| 永 机械 有限公司| 贵州力顺机械有限公司| 扬州中建建设机械有限公司| 河南省新乡市矿山起重机有限公司| 嘉兴赛诺机械有限公司| 友池精密机械有限公司| 江阴市药化机械有限公司| 济南真诺机械有限公司| 丰润区钢铁有限公司| 东元精密机械有限公司| 东莞市鑫焘机械有限公司| 玛连尼 法亚机械有限公司| 洛北重工机械有限公司| 无锡旭辉机械有限公司| 潍坊钰兴机械有限公司| 宁波恒威机械有限公司| 潍坊机械设备有限公司| 广州机械有限公司 v| 辽宁富一机械有限公司| 东莞市泽冠机械有限公司| 三一众力机械有限公司| 四川诚德机械有限公司| 东营石油机械有限公司| 新乡市辰威机械有限公司| 烨隆精密机械有限公司| 安来动力机械有限公司| 上海杉野机械有限公司| 宁波华骏机械有限公司| 汉威机械制造有限公司| 济南章力机械有限公司| 镇江机械设备有限公司| 上海喜曼机械有限公司| 烟台精越达机械设备有限公司| 柳州丹顺机械有限公司| 济南天方机械有限公司| 德蒙压缩机械有限公司| 徐工随车起重机有限公司| 上海涵延机械有限公司| 上海昊宇机械有限公司| 重庆瀚源机械有限公司| 绍兴联科机械有限公司| 南京力霸起重设备机械有限公司| 承德 机械有限公司| 台正精密机械有限公司| 郑州双狮粮油机械有限公司| 汉威机械制造有限公司| 浙江斯耐达机械工具有限公司| 蔚蓝机械设备有限公司| 徐工建机机械有限公司| 青岛塑料机械有限公司| 青岛西城铸造机械有限公司| 广州市善友机械设备有限公司| 南京 机械设备有限公司| 昌信机械制造有限公司| 哈克农业机械装备制造有限公司 | 青岛昌佳机械有限公司| 长沙昊博机械设备有限公司| 天津达亿钢铁有限公司| 广东富华重工制造有限公司| 鞍山机械重工有限公司| 苏州欧比特机械有限公司| 陕西 机械 有限公司| 河南大方起重机有限公司| 苏州朗威电子机械有限公司| 青岛精锐机械制造有限公司| 烟台工程机械有限公司| 青岛机械设备有限公司| 杭州海兴机械有限公司| 绍兴联科机械有限公司| 江苏福克斯机械有限公司| 赣州群星机械有限公司| 安徽涌诚机械有限公司| 山东常美机械有限公司| 江苏力源液压机械有限公司 | 山西 机械有限公司| 浙江濠泰机械有限公司| 上海汉普机械有限公司| 青岛 塑料机械有限公司| 洛阳博马农业工程机械有限公司 | 佛山市机械有限公司| 机械密封件有限公司| 泰安机械有限公司招聘| 上海宏铭纺织机械有限公司| 山东万力起重机械有限公司| 浙江佶龙机械有限公司| 河北州科重工有限公司| 沧州沧狮磨浆机械有限公司| 动机械设备有限公司| 广东正力精密机械有限公司| 杭州泰尚机械有限公司| 浙江希望机械有限公司| 苏州凯尔博精密机械有限公司| 上海展仕机械设备有限公司| 山东包装机械有限公司| 浙江风驰机械有限公司| 江阴市药化机械有限公司| 上海佳成服装机械有限公司 | 江阴纺织机械有限公司| 沈阳友维机械有限公司| 江苏中热机械设备有限公司怎么样 | 山东博精化工机械有限公司| 贵阳长乐钢铁有限公司| 济南市恒宇机械有限公司| 安徽食品机械有限公司| 济南庚辰钢铁有限公司| 扬州金威机械有限公司| 浙江正润机械有限公司| 江阴化工机械有限公司| 山东液压机械有限公司| 力顺源机械有限公司| 江苏方圣机械有限公司| 东莞市鸿铭机械有限公司| 淮安天宇机械有限公司| 广东新船重工有限公司| 东莞市金坤机械设备有限公司| 上海钦典机械制造有限公司| 东莞安默琳机械制造技术有限公司| 承德建龙钢铁有限公司| 昆山大风机械有限公司| 许昌机械制造有限公司| 科瑞森机械有限公司| 无锡建仪仪器机械有限公司| 乐陵双鹤机械制造有限公司| 台州迈兴机械有限公司| 上海鼎龙机械有限公司| 无锡兆立精密机械有限公司 | 郑州茂祥机械有限公司| 浙江弘润机械制造有限公司| 杭州海纳机械有限公司| 昆山机械设备有限公司| 德阳川广机械有限公司| 瑞 机械有限公司| 烟台工程机械有限公司| 济南闽源钢铁有限公司| 东莞市雅康精密机械有限公司| 德丰机械制造有限公司| 北京火车头机械设备有限公司| 贵州红林机械有限公司| 动力机械制造有限公司| 浙江乐江机械有限公司| 山西天巨重工机械有限公司| 天津瑞星传动机械有限公司| 天津天重江天重工有限公司| 廊坊 包装机械有限公司| 天阳机械制造有限公司| 浙江江华机械有限公司| 浙江吉隆机械有限公司| 海星机械制造有限公司| 青岛鲁耕农业机械有限公司| 南通明德重工有限公司| 深圳市荣德机械设备有限公司| 景隆重工机械有限公司| 常州达德机械有限公司| 山东巨明机械有限公司| 温州铸鼎机械有限公司| 桂林科丰机械有限公司| 鑫科木工机械有限公司| 宁波盛技机械有限公司| 北京恒博立华机械设备有限公司 | 长沙机械与制造有限公司| 南皮县中顺环保机械有限公司| 常德纺织机械有限公司| 昆山施耐特机械有限公司| 衡水机械制造有限公司| 抚顺起亮食品有限公司| 青岛华牧机械有限公司| 浙江美华包装机械有限公司| 张家口中煤嘉益机械制造有限公司 | 日发纺织机械有限公司| 浙江精密机械有限公司| 山东济宁机械有限公司| 昆明 机械制造 有限公司| 建材有限公司起名大全| 河南起重设备有限公司| 河北食品机械有限公司| 江苏鑫林钢铁有限公司| 湖州市湖州机械有限公司| 江苏常动机械有限公司| 珠海康信精密机械有限公司| 浙江流遍机械润滑有限公司| 青岛软控重工有限公司| 广州市通风机械设备有限公司| 湖北铁正机械有限公司| 萨驰华辰机械 苏州 有限公司| 合肥福晟机械制造有限公司| 张家港市机械有限公司| 宜都大一重工有限公司| 广东乐善机械有限公司| 河北大恒重型机械有限公司| 杭州兴达机械有限公司| 全氏食品机械(上海)有限公司 | 青岛美克精密机械有限公司 | 维美德造纸机械技术有限公司| 德莱赛机械苏州有限公司| 河南小松工程机械有限公司 | 大连德机械有限公司| 德实机械平湖有限公司| 上海轩世机械有限公司| 营口嘉晨钢铁有限公司| 上海起重电机厂有限公司| 三一汽车起重机械有限公司| 山鑫机械制造有限公司| 上海沛愉机械制造有限公司| 河北小犟牛工程机械有限公司| 河南省矿山起重有限公司| 苏州市机械制造有限公司| 济南盛润机械有限公司| 山东华伟重工机械有限公司| 徐州 机械制造有限公司| 漳州 机械有限公司| 常州华机械有限公司| 青岛隆硕农牧机械制造有限公司| 东莞市 机械有限公司| 上海博强机械有限公司| 河南真牛起重机有限公司| 浙江富昌机械有限公司| 桐乡合德机械有限公司| 佛山市万为包装机械有限公司| 东莞市比奥机械有限公司| 德国arku机械制造有限公司| 村田机械上海有限公司| 上海华襄机械有限公司| 上海嘉亿机械有限公司| 大连港机械有限公司| 上海剑豪传动机械有限公司| 山东工大机械有限公司| 广东科杰机械自动化有限公司| 南通佳吉机械有限公司| 河北龙汐机械制造有限公司| 高义钢铁有限公司电话| 唐山隆鑫机械有限公司| 常州市 机械设备有限公司| 宁波翠科机械有限公司| 昆山富邦机械有限公司| 张家港和和机械有限公司| 上海开隆冶金机械制造有限公司| 锋机械设备有限公司| 山东同洲机械制造有限公司| 广州众起办公用品有限公司| 广东乐善机械有限公司| 佛山恒力泰机械有限公司| 浙江希望机械有限公司| 上海卓汇机械有限公司| 诸暨市 机械有限公司| 唐山机械制造有限公司| 长沙盛泓机械有限公司| 广州惠德机械有限公司|