原创 編程架構思考

架構,作爲程序員是必須的,好的架構提供代碼重用的可能性(因爲模塊化/對象化,而且模塊/對象間鬆散耦合),提供靈活的擴展性(方便加入其他模塊和功能),代碼維護性和可讀性好 。 人類的認識總是連續性上升的,不會飛躍,所以隨着時間

原创 關於android audio路由策略的修改(續)

關於android audio路由策略的修改(續) 承接我的上一篇https://blog.51cto.com/8906847/2367935 文章。 例如你在HUD擡頭顯示設備中,需要加入FMTX功能,即fm發射功能,另外需要在打開fmt

原创 關於android8.1實現多個app升級時的注意事項

關於android8.1實現多個app升級時的注意事項 android新的版本,packagemanager對app安裝有一定的限制,就是除了shell和root用戶外,其他用戶的進程不允許安裝除了系統用戶(system ui)以外的app

原创 關於am force-stop殺不死某些app的原因

關於am force-stop殺不死某些app的原因 你在android8.1中,可能運行adb shell am force-stop XXX其中XXX是app的包名,發現進程還在,而且ps看進程號不變,也就是此包沒有被stop掉。其實在

原创 關於linux設備驅動是否使用全局變量的問題

關於linux設備驅動是否使用全局變量的問題 今天有人問我,關於linux設備驅動是否使用全局變量的問題,爲什麼說盡量不使用全局變量? 其實這個問題從兩方面說:1)使用全局變量,那麼破壞了函數的重入性,爲了實現函數重入,又不得不使用鎖來保護

原创 關於c++設計模式的總結

關於c++設計模式的總結 抽象工廠,決定產品系列的產品的組合,特點是創建同一款式的產品系列。缺點是增加產品組件,需要修改抽象工廠接口,影響抽象工廠子類。 builder,決定產品的各個部分的build的過程。替換相應的builder子類,就

原创 關於查看進程所佔用物理內存的問題

關於查看進程所佔用物理內存的問題 一般查看進程所佔物理內存的方法有:1) top其中的RES(其實就是RSS) 和SHR(就是本進程中共享庫等佔用的總大小,不取平均時)列。 2)ps其中ps或者新版本android中ps -A顯示其中的RS

原创 關於如何知道一個安裝的apk的主activity

關於如何查找知道一個安裝的apk的主activity 關於如何查找知道一個安裝的apk的主activity,從而命令行進行am start的方法:$ adb install /media/neil/neil/temp/com-futurem

原创 關於Android的app權限申請問題

關於Android8.1的app權限申請問題 例如如何讓普通app可以寫/sdcard/Android/ 目錄 / # cat /data/system/packages.xml | grep bluetooth<package name=

原创 關於linux select多路選擇的內核實現機理

關於linux select多路選擇的內核實現機理 請仔細閱讀上圖,才能明白其中的機理。 另外關於select()的說明、poll_wait()函數的意思和使用。 請看: 更詳細的內容請參見我的視頻課程:《深入linux內核》https:

原创 關於linux內核的tcp ip網絡框架實現

關於linux內核的tcp ip網絡框架實現 上圖是linux內核的tcp ip網絡框架實現 需要注意的是,linux採用函數指針的方式來模擬“面向對象”概念的動態函數綁定。所以需要仔細看上面的函數指針實際指向的函數,才能知道上面的tcp

原创 關於linux內核的wait等待事件和wakeup的核心原理

關於linux內核的wait等待事件和wakeup的核心原理 上圖注意仔細觀察。 其實所有的wait_XXX等wait_event、sleep系列函數,都是1)設置線程狀態,2)調用schedule()相關函數 wakeup函數都會調用到

原创 關於linux頁框(物理頁)回收問題PFRA的總結

關於linux頁框(物理頁)回收問題PFRA的總結 注意仔細閱讀上圖。並認真對比代碼思考。 更詳細的內容請參見我的視頻課程:《深入linux內核》https://edu.51cto.com/course/17155.html 另外我的相關

原创 一個關於linux文件預讀機制問題

一個關於linux文件預讀機制問題 曾經,有人問我這樣一個問題: 一個Native 程序 mmap 了一個文件,如果什麼都不讀 RSS是0,但是讀一個字節,RSS就變成64k,這個在哪兒能控制大小?mmap不同大小,這個讀一個字節的申請的物

原创 關於各種驅動的討論

關於各種驅動的討論 爲了增加本博客的討論氣氛,和增加人氣。從現在起,歡迎大家在評論裏提出問題,我在有時間時,將逐一解答。歡迎任何linux kernel和linux驅動相關的問題,或者Android frameworks相關的問題。另外如果