原创 Vue.js工程中使用二維碼js庫的qrcodejs

1. 推薦 推薦使用davidshimjs的qrcodejs,可查看作者的API文檔。 2. 安裝 注意qrcodejs2和qrcodejs不一樣,名字別錯了。 npm install qrcodejs2 --save 3.

原创 Android多用戶原理及流程分析

Android多用戶原理及流程分析 一、 問題描述 ActivityManager.getService().registerUserSwitchObserver這個API的回調是一個阻塞式接口,也就是說框架那邊遍歷註冊的obse

原创 Android性能優化之內存優化——內存泄漏篇

一、 簡介 內存泄露(Memory Leak)簡單來說,就是該釋放或回收的資源沒有主動去釋放或回收,導致GC也無法回收,最後永遠無法正常回收,造成系統資源浪費。內存泄露會積累放大影響,嚴重時會導致內存溢出,引起程序卡死崩潰等。 和

原创 Android性能優化之內存優化

本章內容基於Android Q,介紹Android性能優化中的內存優化方面,通過排查、檢測、規避和表現等四個方面的講解,讓更多的開發者有能力去改善或設計出更優質的程序。 內容大綱包括: 內存泄漏篇 內存溢出篇 內存抖動篇 內存檢

原创 Android多用戶適配

一、 簡介 本文基於Android Q,介紹安卓原生的多用戶功能適配相關內容,供開發者學習參考。 多用戶不同於多進程、多線程,前者是本地數據的差異,後兩者是運行時內存數據的差異。 因此多用戶適配,主要是適配本地保存的數據相關的IO

原创 RecyclerView使用ItemDecoration繪製分割線

一、 摘要 本文介紹使用RecyclerView的抽象內部類ItemDecoration實現ItemView分割線的繪製。 二、 方法分析 實現分割線的繪製,需要重寫兩個方法:getItemOffsets()和onDraw()。

原创 基於Gerrit的Git常用命令

基於Gerrit的Git常用命令 摘要 本文介紹日常開發中常用的git命令,從初階到高階都有,以及相關git、gerrit原理,以提升協同開發效率。 簡介 git是一種VCS(version control system)工

原创 Android中View的事件分發

一、 摘要 介紹Android中View的事件分發流程,以及對事件的消費和攔截。本文基於Android 8.0(Oreo),即API 26。 二、 View的事件 View有四種基本事件,它們位於MotionEvent中: ACT

原创 Android中View的異步消息

一、 摘要 介紹Android中View的異步消息,以及消息傳遞流程。 二、 分析View.post() 說起View的異步消息,也就是View.post()這個方法,它常用於在主線程更新UI,我們要搞清楚它的具體實現,先來看看po

原创 Android中View的繪製流程

一、 摘要 介紹Android View的繪製流程,引出後續的異步消息、事件分發。 二、 ViewRootImpl 1. ViewRootImpl是什麼 在API文檔中如此描述ViewRootImpl: /** * The top

原创 Android動態創建快捷方式

一、 摘要 以Android O爲分界,介紹兩種動態創建快捷方式的途徑:廣播和ShortcutManager。 二、 Android O以前 在Android O(8.0)以前,動態創建快捷方式是通過發送廣播實現的: // 由該ac

原创 Android進程間通信之AIDL

一、 摘要 本文介紹Android中的IPC方式之一——AIDL。 二、 關於AIDL AIDL:Android Interface Definition Language,即Android接口定義語言。 Android系統中的進程

原创 Android進程間通信之Messenger

一、 摘要 本文介紹Android中的IPC方式之一——Messenger。 二、 關於Messenger SDK中如此描述: /** * Reference to a Handler, which others can use

原创 Queue+FileChannel實現非遞歸高效率目錄拷貝

Queue+FileChannel實現非遞歸高效率目錄拷貝 一、 摘要 本文介紹非遞歸目錄遍歷的實現、FileChannel的使用,從而實現非遞歸的、安全的目錄拷貝。 二、 非遞歸目錄遍歷 - Queue 對於文件夾拷貝,我們常用的

原创 Vue.js中的路由模式和第三方分享問題

Vue.js中的路由模式和第三方分享問題 一、 摘要 介紹Vue.js中的兩種路由模式:hash和history,並提供第三方分享url問題的解決方案。 二、 Router mode 1. 關於SPA(Single Page Web