主頁 > 移動端開發 > HDC2021技術分論壇:行程崩潰/應用卡死,故障頻頻怎么辦?

HDC2021技術分論壇:行程崩潰/應用卡死,故障頻頻怎么辦?

2021-12-11 06:39:34 移動端開發

?作者:jiwenqiang,DFX技術專家

 

提到開發一個產品,我們通常首先想到的是要實作什么樣的功能,但是除了功能之外,非功能屬性也會很大程度上影響一個產品的體驗效果,比如不定時出現的應用卡死、崩潰現象,那為什么有的系統故障頻頻,有的卻很少出現這些問題呢,這就不得不提到我們今天的主角DFX了,

 

一、什么是DFX?


DFX是早在1960~1970年代就出現的產品設計理念,但是對于不少開發者而言,這是一個陌生的概念,什么是DFX?所謂DFX(Design For X),是指產品的非功能屬性設計,其中的X代表產品的某個特性或者產品生命周期的某個階段,

 

從下面的圖可以看出,產品的非功能屬性是非常豐富的,它們直接影響產品的質量、效率、成本等這些長期核心競爭力,

?

圖1 產品DFX

 

在過去的幾年里,華為軟體的交付效率和質量一直在不斷提高,每個軟體大版本相較于上個版本交付時間在不斷縮短,故障率也有大幅降低,這些提升的背后,DFX起到了很重要的作用,

 

隨著業界認識的深入,DFX逐漸成為了卓越產品設計的基石以及頭部企業產品設計開發的基礎設施,因此現在對DFX又有了另一種解釋,即“Design For eXcellence”,面向卓越的設計,

 

二、什么是作業系統DFX?

 

現在我們了解了DFX的概念,也知道DFX設計對產品來說例外重要,因此我們在設計HarmonyOS的時候,堅持將DFX的理念帶了進來,使其成為作業系統的公共基礎設施,使能高質量卓越產品的設計、實作、測驗和維護,通過對應用程式、設備產品這些作業系統所服務的物件進行考察,我們歸納出系統所能提供的非功能需求,并從中提煉出公共、基礎的DFX框架加入到HarmonyOS中,這就產生了作業系統DFX,開發者在使用HarmonyOS的程序中,可以根據產品需要直接使用或靈活拓展這些DFX能力,

 

?

圖2 作業系統DFX

 

看到這里,大家可能會覺得,作業系統DFX不就是將產品DFX的能力拷貝到作業系統中嗎,其實不然,作業系統DFX相較于產品DFX有兩個顯著的不同點:

 

  • 由于作業系統不是為某類產品所專門定制的,而是一個全堆疊、公共的基礎設施,因此作業系統DFX主要聚焦記錄、診斷、恢復、觀測、剖析、維護和服務等開發產品所需要的公共能力,
  • 作業系統DFX更多地關注開發者和設備商的開發體驗,以幫助他們設計出更卓越的產品為目標,


三、HarmonyOS對DFX能力的要求


既然作業系統DFX是為了使能開發者開發出更卓越的產品,而HarmonyOS中也加入了DFX框架和能力,那么大家一定很好奇,HarmonyOS中的DFX是什么樣的?DFX能為HarmonyOS帶來些什么呢?在回答這些問題之前,我們先來看一下HarmonyOS對DFX能力的要求,

 

幾乎所有的操作對DFX的要求都包含以下三方面:

  • 輕量有效:系統資源開銷少,易用易學習,精準有效,
  • 基礎通用:關鍵、基礎、通用、易擴展,方便開發者裁剪和增強,
  • 覆寫全面:全面服務應用和設備品類,全面服務開發者和設備商,全面覆寫產品全生命周期,


HarmonyOS除了這些基本要求外,還對DFX提出了新的要求:

 

我們知道,HarmonyOS是面向超級終端的系統,而不同超級終端的資源可能是差距巨大的,比如有的富設備提供的資源為RAM 8GB、ROM 512GB,而有的瘦設備卻只有RAM 128KB、ROM 2MB,面對這么大的資源差異,HarmonyOS對DFX提出了支持全堆疊多語言、可大可小、靈活部署的要求,

 

除了面向超級終端,HarmonyOS的另一大特色是其豐富的分布式超級終端場景支持能力,因此HarmonyOS要求系統的DFX能力要能夠支持分布式場景,比如分布式的日志、分布式跟蹤、分布式除錯調優等等, 
 

?

圖3 HarmonyOS對DFX能力的要求

 

四、HarmonyOS DFX框架與能力

 

通過上面的介紹,相信大家已經對作業系統DFX的概念有了一定的了解,那么我們現在開始進入正題,給大家介紹一下HarmonyOS DFX的框架與能力,

 

?

圖4 HarmonyOS DFX框架和能力全景圖

 

圖4的全景圖中間褐色部分為HarmonyOS DFX所提供的能力,

 

HarmonyOS DFX提供了以下能力:

(1)記錄能力:提供了輕量的日志、事件和跟蹤功能,可以將程式運行的軌跡記錄下來,為后續分析度量奠定基礎,

(2)故障管理能力:提供精準有效的故障檢測、定位和恢復能力,

(3)觀測剖析能力:提供了統一便捷的觀測與剖析工具,主要包含資訊匯出、資訊分析和聯動除錯能力,

 

那么這些DFX能力的作用又是什么呢?從全景圖中代表DFX的中間部分與周邊的關系可以看出,DFX的這些能力不僅需要為作業系統的其他子系統提供服務,其更重要的使命是支撐影音娛樂、智慧出行等軟體應用以及“1+8+N”等硬體設備,除此之外,這些能力也是產品開發運維工具鏈的基礎,需要支撐開發除錯的IDE工具以及產品運維大資料分析平臺的構建,

 

在了解了HarmonyOS DFX的框架之后,我們知道HarmonyOS DFX主要包含日志、事件、跟蹤、故障管理、觀測剖析這5部分,日志、事件和跟蹤體現了DFX的記錄能力,故障管理能夠幫助開發者快速定位和發現問題,而觀測剖析則是通過一系列工具,幫助開發者在集成的環境下使用這些DFX能力,接下來我們就來逐個看看HarmonyOS中所具備的這些DFX能力,

 

1. 日志(HiLog)


日志通常被視為最簡單的功能,但是在開發者使用日志的程序中,有兩個比較明顯的問題,一個是濫打日志現象,另一個是隨著軟體規模和組織規模的擴大,系統日志雜亂、流量超大的問題越來越嚴重,不僅容易泄露隱私,甚至連開發者想查看自己的日志都變得愈發困難,針對這兩個問題,HarmonyOS DFX設計了一套全新的日志功能——HiLog,下面是HiLog的示意圖,

 

?

圖5 日志(HiLog)

 

從上圖可以看出,HiLog不僅提供了支持JS/Java/C/C++多語言的日志采集功能,還著重在日志分類查詢、流量控制和隱私處理上做了專門設計,下面我們逐個看看這些設計,

 

(1)分類查詢

 

為了解決日志雜亂、不便查看的問題,HiLog對于不同級別的日志進行了分類,提供分級查詢日志的命令,并且除了可以按照級別(Level)、型別(Type)、標簽(Tag)查看日志,還提供了按照領域(Domain)查看日志的命令,所謂領域是指跨軟體堆疊層次的業務垂域,那么我們為什么要按照領域查看日志呢?我們設想一下以下場景:Camera功能領域包含應用、服務和驅動,開發者如果想從一堆日志中過濾出Camera領域的日志,是沒有功能支持的,用老的過濾方法是不行的,為此,我們給需要的領域定義了DomainID,通過領域過濾來解決這個問題,

 

(2)流量控制

 

通過分類查詢,我們解決了日志查看不便的問題,但是超量的日志也會對系統性能產生巨大影響,根據經驗,如果把系統中所有日志全部都打開,嚴重的情況下系統的性能可能會下降至70%,那么該如何解決日志超量的問題呢?

 

HiLog通過對不同領域的日志總量進行流控來解決這個問題,在采集日志時,記錄每個領域的日志總量,識別出超過閾值的領域,然后對該領域的超量日志進行控制,其中對超量日志的處理在除錯(Debug)和商用(Release)兩種模式下有不同的處理策略:在Debug模式下,會提示超量日志,但不會真的丟棄超量日志,而在Release模式下,會將超量的日志丟棄并列印一條日志丟棄的提示,

 

?

圖6 流量控制的兩種模式

 

(3)隱私管控

 

除了查詢不便和超量日志問題,日志的隱私管控也需要引起重視,在我們開發除錯的程序中,經常會傾向于列印更多的資訊,這就很有可能將用戶隱私資訊也列印出來,比如姓名、訪問的URL地址等,而現在對于隱私泄露的處罰是比較嚴厲的,歐盟的《通用資料保護條例》(General Data Protection Regulation,簡稱GDPR)針對隱私泄露最高罰款2千萬歐元或年度營業額的4%,因此,我們在日志列印的時候需要非常謹慎,不能將用戶隱私列印到日志里,

 

為了對隱私安全進行管控,HiLog提供了變數列印控制功能,開發者可以通過格式化字符{private}或{public}靈活對變數內容進行宣告,如果宣告為{private},則表示該變數為隱私變數,在Release模式下會隱藏這些隱私的變數內容,而對于不需要管控的變數,則可用{public}來指明,不進行隱藏,

 

?

圖7 HiLog的變數列印控制

 

2. 事件(HiView)


除了日志以外,HarmonyOS DFX對事件也提供了記錄能力,并為此設計了一套全新的事件框架(HiView),

 

?

圖8 事件框架HiView

 

我們知道,事件可能來源于應用,也可能來源于系統,因此HiView框架分為系統事件框架和應用事件框架兩個部分,每個部分都提供了事件采集介面,系統事件框架使用HiSysEvent介面,應用事件框架使用HiAppEvent介面,除此之外,HiView還提供了靈活的訂閱查詢介面,可以為后端處理者分享采集到的事件,該介面的應用場景有很多,比如IDE可以通過此介面訂閱事件,從而在除錯界面上呈現事件,而系統廠商也可以通過此介面訂閱事件,再進行定制化處理,

 

另外,HiView還對系統事件框架的處理邏輯做了插件化設計,通過在HarmonyOS上配置和部署系統插件,可以實作對不同大小終端設備的靈活適配,

 

3. 跟蹤(HiTrace)


接下來,我們來看一下HarmonyOS DFX的最后一項記錄能力——跟蹤,

 

由于HarmonyOS是面向超級終端的系統,因此除了像常規作業系統那樣跟蹤應用間、行程間的互動程序,還需要具備跨設備跟蹤程式互動程序的能力,在HarmonyOS中,這種分布式跟蹤的能力由HiTrace提供,而HiTrace通過TraceID的傳遞來對整個業務鏈進行跟蹤,TraceID不僅能夠在APP、Native、Kernel之間跨層傳遞,還能夠跨行程、甚至跨設備傳遞,值得一提的是,HiTrace是一種輕量級的跟蹤機制,在Wi-Fi條件下僅僅會增加微秒級延遲,而這種延遲對系統來說影響是非常小的,

 

?

圖9 HiTrace分布式跟蹤

 

4. 故障管理


除了上面介紹的一些記錄能力,故障管理也是HarmonyOS DFX的一項重要能力,為了幫助開發者快速定位和發現問題,HarmonyOS DFX在系統側部署了全量、精準的故障檢測機制,包含7類單系統故障檢測器(行程崩潰、應用卡死、資源泄露、踩記憶體、整機重啟、不開機和系統死機)和1類分布式故障檢測器,通過這些檢測器,故障檢測率可以達到80%以上,為了滿足HarmonyOS面向超級終端的特性,這些故障檢測器還可以在不同設備上根據資源靈活進行部署,

 

?

圖10 故障檢測器

 

由于篇幅原因,下面我們重點對這7類故障檢測器中的行程崩潰檢測器、應用卡死檢測器以及系統死機檢測器進行介紹:

 

(1)行程崩潰檢測器

 

說到行程崩潰大家一定都不陌生,這是一種最常見的故障,對此的檢測機制也都比較成熟,但當前的檢測機制還存在著一些問題,比如,應用行程無法直接獲取自己行程相關的崩潰日志,崩潰日志包含很多無效資訊、重復資訊,以及抓取崩潰呼叫堆疊失敗等,為了解決這些問題,HarmonyOS DFX對其提供的行程崩潰檢測器做了以下特殊設計:

  • 支持Java/JS/Native全堆疊檢測,
  • 開放專門的API給應用行程查詢自己行程的崩潰日志,能且只能獲取自己行程的崩潰資訊,解決了應用無權獲取自己崩潰日志的問題,
  • 通過對崩潰日志資訊的去重,洗掉了很多的無效資訊,幫助開發者更加準確地定位資訊,
  • 支持同時抓取多個行程的呼叫堆疊,避免抓取日志不全的問題,保證更準確地還原故障現場,


(2)應用卡死&系統死機檢測器

 

應用卡死和系統死機也是比較常見的故障,它們一般概率性發生,但是嚴重影響用戶體驗,檢測這類問題的難點在于,如何將軟體故障與用戶感知的死機故障做有效匹配,如果所有軟體bug都上報,開發者會無從下手,而如果漏檢了則又無法準確定位,為此,HarmonyOS DFX對應用卡死&系統死機檢測器,做了以下特殊設計:

  • 在系統中部署了32個檢測點,全面檢測軟體死機故障,
  • 另外增加了4個用戶行為檢測點,準確檢測用戶對死機現象的反應,

 

這些部署的檢測點支持根據不同設備的故障模式靈活部署,如果我們的設備沒有螢屏,那么就不用去部署亮滅屏超時及快速點擊螢屏檢測點,除了測點,判決規則也能夠根據故障檢測結果的大資料分析動態進行調整,通過上述優化,死機故障檢測率從30%提升到了80%,

 

?

圖11 應用卡死&系統死機檢測

 

5. 觀測剖析


看到這里,大家或許會有個疑問,開發者如何才能使用HarmonyOS DFX所提供的這些日志、事件、跟蹤和故障管理能力呢?那接下來我們就來介紹一下我們的觀測剖析工具,這些工具可以幫助開發者分析定位問題、除錯調優,

 

(1)資訊匯出工具(HiDumper)

 

開發者在開發、除錯、測驗、維護等程序中,需要頻繁觀測系統的各種資訊,一般這些觀測資訊都是通過資訊匯出來獲得,雖然通常作業系統都會提供各類資訊匯出工具,但是這些工具之間可能規則差異很大,并且很難對自動化測驗工具或IDE進行適配,隨著產品種類的增加,系統要匯出的資訊也變得例外豐富,資訊匯出介面多、能力雜,適配難的問題也更加凸顯,

 

為了避免上述資訊匯出問題,HarmonyOS提供了統一的系統資訊匯出工具HiDumper,相比于其他資訊匯出工具,HiDumper對命令引數進行了統一的規格化管理,并對所有匯出資訊進行分類、調度和輸出,減少了后端工具的適配難度,

 

?

圖12 資訊匯出工具HiDumper

 

(2)分布式聯動除錯工具

 

目前的APP除錯一般都是使用本地除錯器,每個待除錯設備需要一套獨立的除錯終端和IDE工具,這顯然不能很好地支持需要多設備之間聯動除錯的分布式業務場景,為了應對這種場景,HarmonyOS全新開發了分布式聯動除錯工具,將跨設備的日志、事件、跟蹤及故障日志在同一個IDE除錯視窗進行關聯展示,給開發者類似單設備除錯的視窗體驗,IDE運行時能自動捕獲例外資訊,通過例外資訊關聯出相關的事件串列和流水日志,再通過例外日志能準確定位到代碼行,大大提高除錯效率,

 

?

圖13 分布式聯動除錯

 

(3)分布式調優工具

 

在介紹完觀測和除錯工具之后,最后我們再來看一下調優工具,HarmonyOS新開發的分布式調優工具,能準確全堆疊跟蹤JS/Java/C/C++等多語言呼叫鏈,記錄跨執行緒、跨行程、跨設備等不同顆粒度的活動,生成規格化的HiTrace檔案,通過將HiTrace檔案在IDE圖形化工具中展示,開發者可以很便利地分析分布式應用性能瓶頸,

 

?

圖14 分布式調優

 

以上就是我們對于HarmonyOS DFX關鍵部分的介紹了,相信大家對于DFX的概念也有了初步的認識,

 

后續,HarmonyOS DFX將在缺陷檢測、故障恢復、大資料分析以及更多除錯調優工具方面繼續努力,為開發者提供更多能力,助力開發者開發更卓越的產品,大家敬請期待!

 

?

掃碼添加開發者小助手微信

獲取更多HarmonyOS開發資源和開發者活動資訊

?

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/379129.html

標籤:其他

上一篇:如何在unicode形式之間進行轉換:字串、名稱、數字

下一篇:從經度/緯度轉換的像素坐標在d3.js中代表什么?

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【從零開始擼一個App】Dagger2

    Dagger2是一個IOC框架,一般用于Android平臺,第一次接觸的朋友,一定會被搞得暈頭轉向。它延續了Java平臺Spring框架代碼碎片化,注解滿天飛的傳統。嘗試將各處代碼片段串聯起來,理清思緒,真不是件容易的事。更不用說還有各版本細微的差別。 與Spring不同的是,Spring是通過反射 ......

    uj5u.com 2020-09-10 06:57:59 more
  • Flutter Weekly Issue 66

    新聞 Flutter 季度調研結果分享 教程 Flutter+FaaS一體化任務編排的思考與設計 詳解Dart中如何通過注解生成代碼 GitHub 用對了嗎?Flutter 團隊分享如何管理大型開源專案 插件 flutter-bubble-tab-indicator A Flutter librar ......

    uj5u.com 2020-09-10 06:58:52 more
  • Proguard 常用規則

    介紹 Proguard 入口,如何查看輸出,如何使用 keep 設定入口以及使用實體,如何配置壓縮,混淆,校驗等規則。

    ......

    uj5u.com 2020-09-10 06:59:00 more
  • Android 開發技術周報 Issue#292

    新聞 Android即將獲得類AirDrop功能:可向附近設備快速分享檔案 谷歌為安卓檔案管理應用引入可安全隱藏資料的Safe Folder功能 Android TV新主界面將顯示電影、電視節目和應用推薦內容 泄露的Android檔案暗示了傳說中的谷歌Pixel 5a與折疊屏新機 谷歌發布Andro ......

    uj5u.com 2020-09-10 07:00:37 more
  • AutoFitTextureView Error inflating class

    報錯: Binary XML file line #0: Binary XML file line #0: Error inflating class xxx.AutoFitTextureView 解決: <com.example.testy2.AutoFitTextureView android: ......

    uj5u.com 2020-09-10 07:00:41 more
  • 根據Uri,Cursor沒有獲取到對應的屬性

    Android: 背景:呼叫攝像頭,拍攝視頻,指定保存的地址,但是回傳的Cursor檔案,只有名稱和大小的屬性,沒有其他諸如時長,連ID屬性都沒有 使用 cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DURATIO ......

    uj5u.com 2020-09-10 07:00:44 more
  • Android連載29-持久化技術

    一、持久化技術 我們平時所使用的APP產生的資料,在記憶體中都是瞬時的,會隨著斷電、關機等丟失資料,因此android系統采用了持久化技術,用于存盤這些“瞬時”資料 持久化技術包括:檔案存盤、SharedPreference存盤以及資料庫存盤,還有更復雜的SD卡記憶體儲。 二、檔案存盤 最基本存盤方式, ......

    uj5u.com 2020-09-10 07:00:47 more
  • Android Camera2Video整合到自己專案里

    背景: Android專案里呼叫攝像頭拍攝視頻,原本使用的 MediaStore.ACTION_VIDEO_CAPTURE, 后來因專案需要,改成了camera2 1.Camera2Video 官方demo有點問題,下載后,不能直接整合到專案 問題1.多次拍攝視頻崩潰 問題2.雙擊record按鈕, ......

    uj5u.com 2020-09-10 07:00:50 more
  • Android 開發技術周報 Issue#293

    新聞 谷歌為Android TV開發者提供多種新功能 Android 11將自動填表功能整合到鍵盤輸入建議中 谷歌宣布Android Auto即將支持更多的導航和數字停車應用 谷歌Pixel 5只有XL版本 搭載驍龍765G且將比Pixel 4更便宜 [圖]Wear OS將迎來重磅更新:應用啟動時間 ......

    uj5u.com 2020-09-10 07:01:38 more
  • 海豚星空掃碼投屏 Android 接收端 SDK 集成 六步驟

    掃碼投屏,開放網路,獨占設備,不需要額外下載軟體,微信掃碼,發現設備。支持標準DLNA協議,支持倍速播放。視頻,音頻,圖片投屏。好點意思。還支持自定義基于 DLNA 擴展的操作動作。好像要收費,沒體驗。 這里簡單記錄一下集成程序。 一 跟目錄的build.gradle添加私有mevan倉庫 mave ......

    uj5u.com 2020-09-10 07:01:43 more
最新发布
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:40:31 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:40:11 more
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:39:36 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:39:13 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:16:23 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:16:15 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:15:46 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:14:53 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:14:08 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:08:34 more