原创 CDN架構

CDN公司在整個互聯網中部署了數以百計的節點(Cache服務器集羣)。這些Cache服務器都分佈在各個網絡運營商的IDC機房中,位置儘量靠近用戶網絡。CDN系統將內容從源站複製到各個節點,在內容提供者更新內容時,CDN系統將更新後的內容重

原创 submodule + gradle配置實現動態打包

項目背景 最近的項目是一個通用的播放框架。內部集成了目前市面上主流的視頻網站的播放sdk,比如愛奇藝、騰訊、華數等。另外,還需要支持明流的url播放。這個通用的播放框架需要在多個項目中使用,各個項目需要支持的播放方式也是不一樣的。有的項目

原创 native binder相關類

android native binder相關的類在/frameworks/native/libs/binder/目錄下,對應的頭文件在/frameworks/native/include/binder/目錄下。不同版本的源碼,路徑可能會

原创 CDN基礎知識

CDN的基本概念 CDN,content distribute network(內容分發網絡)或者content delivery network(內容交付網絡)。很顯然,CDN的任務是將內容從源站傳遞給用戶。 聯網的設計理念是:網絡是

原创 submodule集成第三方庫

Maven集成第三方庫 在Android Studio中,原生支持maven倉庫,可以簡單的幾行配置項就可以集成第三方的jar或者aar。如下兩步即可實現: 配置jcenter地址 配置依賴 這種方式簡單方便,支持廣泛,但是也

原创 ServiceManager啓動流程

ServiceManager是一個系統服務進程,在系統init.rc腳本中啓動。其代碼位於目錄/frameworks/base/cmds/servicemanager下。 1、init.rc init.rc文件存放在/system/co

原创 Web Cache的實現

CDN將圖片、視頻和網頁等內容存儲到離用戶最近的地方,實現爲大量用戶的就近服務,減少對源服務器和骨幹網絡的壓力。負載均衡系統和內容管理系統都是爲了更好的實現各個CDN節點協同工作。所以,CDN的本質上等於分層分佈式集羣Cache + 智能

原创 Java aidl分析

1、IBinder接口定義: public String getInterfaceDescriptor(); public boolean pingBinder(); public boolean isBinderAlive(); pub

原创 Android資源文件的管理

android程序中,不管是普通的drawable、anim、color、layout、value等類型的資源文件,還是raw類型的資源文件,或者asset類型的資源文件,所有的資源文件都是通過AssetManager管理的。其中asse

原创 ANR機制

ANR全稱是application not responsing,也就是程序無響應。在android系統中,和程序崩潰一樣,都是程序設計編碼的問題。 android應用中,當你的touch、key等事件得不到及時響應時,在一定的延時之後,

原创 zygote啓動流程

在Android系統中,所有的應用程序和系統服務system server都是由zygote進程fork出來的。本文簡單分析zygote的啓動過程。 1、init.rc init進程是linux系統啓動的第一個進程,後續啓動的所有進程都

原创 media server分析

media server是android的一個重要服務,主要是與多媒體相關的一些系統服務。在 ServiceManager相關中我們已經分析了,media server是在系統init.rc腳本中啓動的,並且在service manage

原创 JNI相關

http://blog.csdn.net/qinjuning/article/details/7595104

原创 CDN專欄

最近看了《CDN技術詳解》一書,結合自己在工作中的實踐,整理總結,作爲自己的讀書筆記。 以下文章中所有插圖均截取自《CDN技術詳解》。 1. cdn基礎知識 2. cdn的技術架構 3. web cache實現 4. 流媒體

原创 JNI相關知識

本文轉載,原文鏈接JNI學習積累之一 —- 常用函數大全 要素 :1、 該函數大全是基於C語言方式的,對於C++方式可以直接轉換 ,例如,對於生成一個jstring類型的方法轉換分別如下: C