平價智慧手機大解密-Firefox OS 記憶體管理與優化

先前 Alan 跟大家介紹過“凡走過必留下痕跡 – 如何獲得 memory allocation 的 footprint”,教大家如何生成 memory footpoint 來找出 memory leak 和減少記憶體使用量。今天,我要介紹的是 Firefox OS 如何在有限的記憶體下管理記憶體資源,並針對其進行優化。 在 Firefox OS 上,如何獲得更多的記憶體資源? 在 Firef.....深入了解

使用不同的檔案系統,Firefox OS 主程式沒跑起來!

前陣子收到一隻手機,需要把 Firefox OS porting 上去。剛好之前有看過這幾篇文章 B2G Porting, 三步驟 build 好 Firefox OS及透過 AOSP build system 來 build Firefox OS,不然還真不知道從那裡開始。先費了一翻功夫把 manifest 弄出來,再經過一陣苦戰之後 system.img 總算也編出來了。既然 system.i.....深入了解

淺談 Cycle Collection

什麼是 Cycle Collection ? Gecko 專案中,常常會使用 smart pointer 來管理動態配置的記憶體的釋放。當記憶體的 reference count 為零時,就判定為不會再被使用。然而如果物件互相持有,形成了 reference cycle,也就是謀智台客這篇「說說 nsCOMPtr 這東西」提到的環狀參照,就會造成每個物件的 reference count 都無法.....深入了解

Address-Sanitizer(ASAN): 一個 C/C++ 記憶體偵錯的工具

LLVM 有一系列以 Sanitizer 結尾的偵錯工具(ASAN/TSAN/MSAN/DFSAN/LSAN)[1],每個工具各司其職,在此我們介紹其中的 ASAN[2]。 Memory Corruption 一直是個非常難除錯非常讓人苦惱的問題, ASAN 正是一個幫助大家處理這樣問題的工具, ASAN 內建於 LLVM 3.1 和 gcc 4.8[3],其可偵測出以下的問題: U.....深入了解

再探 Inter-App Communication (IAC)

先前 EragonJ 跟大家介紹過 Inter App Communication 的使用情境以及使用範例程式碼,本篇將繼續討論 Inter-App Communcation(文章後面將縮寫為 IAC )其他較少為人知的面向。 雙向通訊連線 使用 IAC 建立連線的程式碼通常如下: [crayon-594e27e8503b8577939495/] 但其實 IAC 建立出來的連線是雙向連線,.....深入了解

淺談 Mobile Message – SMS 與 MMS 於 Firefox OS 之實作

在人手一支智慧型手機的時代加上 3G /4G 行動通訊快速的發展,已出現越來越多樣性的即時通訊軟體,例如:Line、WhatsApp 等等。但提到手機內建最老字號的通訊服務,當然是從 2G/2.5 G 時代就已經存在至今的 SMS(簡訊服務)與 MMS(多媒體訊息服務)。只需要對方電話號碼,不論您與對方身處國內外,都能提供使用者即時且圖文並茂的訊息服務。今天的主題要帶著大家一起來了解這兩項服務在 .....深入了解

C++11 與 Gecko

大家都知道 Firefox OS 最大的賣點就在於其開放的平台以及以網頁為基礎的應用程式。相信常關注我們謀智台客的讀者們,也都知道在應用層下的核心引擎 Gecko 是用 C++ 撰寫而成的。Gecko 自開發以來經歷的好幾個年頭,C++ 也不斷地進步當中。在 C++0x 被提出的若干年後,終於在 2011 年 8 月 12 號發布 C++11 取代了 C++03 成為 C++ 最新的標準。永遠跟著.....深入了解

Gecko Layer 除錯工具: LayerDump & LayerScope

在 Firefox 的 Rendering Pipeline 中,一路從 Layout 到 Layer tree,在 Layer tree 中的每一個 Layer 會依序的畫到螢幕上,所以通常畫面出現問題後(ex. 某個畫面下面剛好少了一個 pixel ),我們會先從 Layer 開始下手從下到上去檢查到底是那一個環節出了問題。 不過 Layer 這麼複雜,有什麼好用的工具可以幫助我們快速的.....深入了解

Gecko 多彩多姿多媒體

自從個人電腦愈來愈普及之後,影音娛樂的應用一直是大家關注的焦點之一。在其中,多媒體的播放功能已經變成基本功能中的基本功能。為了能處理各式各樣的多媒體功能(諸如:錄製、播放、串流、轉換格式、後製處理等),每個平台上幾乎都有設計出一套多媒體框架用來應付各種的需求,像是 Windows 上有 DirectShow 跟 Media Foundation 、 Linux 上有 GStreamer 、 Mac.....深入了解

我也想成為 mozillian!教你如何貢獻到 mozilla code base

看了這麼熱血的影片,想必你也迫不及待想成為個 mozillian 吧?!只要有心,人人都能成為 mozillian,如果坐在電腦前的你是個 developer 那就更適合不過了! 這篇就來告訴你如何貢獻到 mozilla 的 code base。 Step 1:新增 Bugzilla 帳號 首先,你需要新增一個 Bugzilla 帳號。Bugzilla 是一套追蹤 bug 的系統.....深入了解