原创 Activity實現Dialog如何監聽窗體外點擊事件

android開發中使用Activity實現Dialog很常見, 實現點擊窗體外關閉或者禁止Activity也很簡單:onCeate()中添加setFinishOnTouchOutside(true) 或者 setFinishOn

原创 android手機分辨率

1、手機分辨率 4:3 VGA 640*480 (Video Graphics Array) QVGA 320*240 (Quarter VGA) HVGA 480*320 (Half-size VGA) SVGA

原创 一張點9圖實現android懸浮背景效果

超級簡單的懸浮效果,推薦給大家 效果圖如下: 點9背景圖(下載即可用):

原创 addOnPreDrawListener()的在recycleView中使用的坑

addOnPreDrawListener()在recycleView的item中使用時,即使使用removeOnPreDrawListener(this),但是onPreDraw()還是會被不斷調用,阻塞ui線程。 approve

原创 Android圖片打標籤

最近項目要實現一個圖片打標籤的需求,在這裏分享一個簡易版的打標籤: 1、點擊圖片任意位置跳轉到標籤列表頁,選擇後,標籤錨點到點擊位置。 2、點擊錨點反轉標籤。 3、拖拽標籤,限制在圖片區域內。

原创 低靈敏度SwipeRefreshLayout

低靈敏度SwipeRefreshLayout package com.ss.android.homed.pm_home.decorate.view; import android.content.Context; import an

原创 策略模式

一、類圖: 三個角色: 使用環境角色: 抽象策略角色: 具體策略角色: 二、舉例:例如:TreeSet中: UseContext : TreeSet IStrategy : Comparator TreeSet<Integer>

原创 android源碼(1)LiveData源碼

2、LiveData如何感知生命週期? 總結:首先看數據:LiveData中的 mObservers 和 LifecycleRegistry 中的 mObserverMap。 LiveData中: // key: observer;

原创 android插件化

文章目錄一、插件化的由來二、插件化要解決的問題1、動態加載APK2、資源加載3、代碼加載 一、插件化的由來 方法數限制: 因爲現在的一個app中功能模塊的解耦和運維團隊的分離越來越厲害, 如果每一個功能模塊升級都對所有的模塊進行升級

原创 android熱更新

文章目錄一、熱更新的流程二、主流熱更新框架介紹1、Dexposed2、AndFix3、Nuwa三、熱更新原理1、Android類加載機制2、熱修復機制 一、熱更新的流程 二、主流熱更新框架介紹 1、Dexposed 2、AndFix

原创 android進程保活

文章目錄一、android進程的優先級二、android進程的回收策略三、進程保活方案1、利用系統廣播拉活2、利用系統Service機制拉活3、利用native進程拉活4、 利用JobScheduler機制拉活5、利用賬戶同步機制拉活

原创 android滑動的六種方式

public class MyView extends View { int lastX; int lastY; Scroller mScroller; public MyView(Context

原创 android點擊事件流程

文章目錄1、activity中dispatchTouchEvent()和onTouchEvent()2、ViewGroupA中重寫dispatchTouchEvent 、onInterceptTouchEvent 、onTouchEv

原创 AsyncTask

文章目錄一、什麼是AsyncTask二、AsyncTask的使用方法三、AsyncTask的內部原理四、AsyncTask的注意事項1、內存泄漏的解決方案2、生命週期3、結果丟失4、並行 or 串行 一、什麼是AsyncTask 1

原创 BroadcastReceiver

文章目錄一、廣播1、定義2、場景3、種類二、實現廣播-receiver1、靜態註冊:2、動態註冊:三、廣播實現機制四、LocalBroadcastManager詳解 一、廣播 1、定義 1)、類似觀察者模式 2、場景 1)、同一個a