如需轉載,請標明原文出處:http://www.javashuo.com/article/p-oucgedcz-dw.html ,謝謝。html
針對平時開發過程當中遇到的問題、bug、難點或知識點作一個概括總結。
不定時更新。java
玩Android
極客導航
鴻洋公衆號推送文章列表android
張鴻洋
郭霖
南塵
JessYan - MVPArms、AndroidAutoSizegit
android:screenOrientation="behind"
。startForeground(int id, Notification notification)
會崩潰<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
TextView不能設置singleLine,不然getDrawingCache和view.draw(canvas)沒法獲取文字。具體緣由未知。github
由於MainActivity是根Activity,因此不能在清單文件中設置singleTask,不然按Home鍵後點擊icon啓動應用時,不能返回原頁面,只顯示根Activity。
由於點擊icon啓動應用本質是Intent打開根Activity,若是設置singleTask會直接清除根Activity上面全部的頁面。
若是部分狀況須要清除根Activity以上全部頁面,能夠按如下實現:面試
/**
* startActivity
*
* @param context context
* @param pageID pageID
*/
public static void startActivity(Context context, int pageID) {
Intent intent = new Intent(context, MainActivity.class);
Bundle bundle = new Bundle();
bundle.putInt(KEY_TYPE, pageID);
intent.putExtra(KEY_BUNDLE, bundle);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
context.startActivity(intent);
}
複製代碼
Cipher標準問題
服務端使用Cipher cipher = Cipher.getInstance("RSA");
Android端使用Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
參考連接:
解決Android客戶端RSA解密出來的明文含有一堆亂碼的問題
Android RSA加密 在服務端進行RSA解密不成功的問題算法
步驟:編程
解決:
啓動Activity添加如下代碼canvas
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
複製代碼
Intent.ACTION_SEND
微信發送沒反應Intent
須要設置具體的Type
,例如intent.setDataAndType(uri, "video/mp4");
segmentfault
Intent.ACTION_SEND
對話框點擊沒反應目前發如今小米Redmi 4A / Andrid 6.0.1 / MIUI 8.5.6.0 ,發現是「後臺彈出界面」權限問題,容許這個權限能夠跳轉了,可是在別的小米手機沒有復現,並且微信也會出現這個問題,初步懷疑是MIUI系統Bug。
啓動方法:
例如:根據路徑獲取音頻、視頻時長
可以使用ContentResolver或MediaMetadataRetriever獲取文件信息
/**
* 獲取時長
*
* @param path path
* @return duration
*/
public static long getDuration(String path) {
MediaMetadataRetriever mmr = null;
try {
mmr = new MediaMetadataRetriever();
mmr.setDataSource(path);
return Long.parseLong(mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION));
} catch (Exception e) {
// e.printStackTrace();
} finally {
if (mmr != null) {
mmr.release();
}
}
return 0;
}
複製代碼
參考連接:
安卓獲取視頻語音文件時間長度
ContentResolver 快速查詢文件
參考連接:
Android 學習筆記核心篇
參考連接:
Android組件化/模塊化開發(一)
Android簡單的模塊化開發
參考連接:
Android ANR traces文件解析
Android ANR ANRWatchDog子線程循環檢測
Android ANR DDMS檢測
Android ANR:原理分析及解決辦法 01
Android ANR:原理分析及解決辦法 02
參考連接:
Android App優化, 要怎麼作?
Android性能優化前因後果總結
參考連接:
Android App安全防範措施的小結
Android App 安全策略
參考連接:
對稱加密和非對稱加密介紹和區別
對稱加密與非對稱加密
參考連接:
Android App優化以內存優化(序)
Android 內存優化總結&實踐
JVM的內存區域劃分
Android 內存分哪些區
Java內存的一點理解, 靜態方法和實例方法的區別及使用場景
程序計數器(關於java虛擬機內存的那些事)
每日一問:你瞭解 Java 虛擬機結構麼?
每日一問:講講 Java 虛擬機的垃圾回收
參考連接:
Java中的static關鍵字解析
[Java]static關鍵字的四種用法
參考連接:
Android四大組件(整理相關知識點)
Android面試四大組件基礎知識點
四大組件安全
Android組件安全詳解
參考連接:
什麼是多態?爲何用多態?有什麼好處?多態在什麼地方用?
多態的好處和弊端
參考連接:
Android 多線程 — 線程的面試題和答案
Java -- Thread中start和run方法的區別
sleep()和wait()的區別
sleep和wait的區別,以及源碼解讀
Java多線程學習之wait、notify/notifyAll 詳解
線程同步 synchronized 同步代碼塊 同步方法 同步鎖
Java同步鎖——lock與synchronized 的區別
volatile關鍵字小總結
Java線程的6種狀態及切換(透徹講解)
參考連接:
JessYan - 今日頭條屏幕適配方案終極版正式發佈!
參考連接:
Java中建立對象的5種方式
經過Class.newInstance()和Constructor.newInstance()兩種反射方法建立對象的異同
參考連接:
Android 強、軟、弱、虛引用 區別和使用場景
參考連接:
十大經典排序算法(動圖演示)
參考連接:
酷炫的外部開啓Activity新姿式
參考連接:
Android App的三種架構模式MVC,MVP和MVVM
參考連接:
Android中的事件傳遞和處理機制
重學安卓:學習 View 事件分發,就像外地人上了黑車!
解惑requestDisallowInterceptTouchEvent
TouchEvent事件分發機制全解析
Android事件分發之ACTION_CANCEL機制及做用
面試系列:講講 Android的事件分發機制
每日一問:Android 滑動衝突,大家都是怎樣處理的
Android事件分發機制詳解與實戰剖析,一張事件分發流程圖,讓你完全搞明白
Android 編程下 Touch 事件的分發和消費機制
Android事件分發機制詳解:史上最全面、最易懂
參考連接:
Android Handler機制之總目錄
我所理解的Handler
你真的懂Handler嗎?Handler問答
Looper.loop爲何不會阻塞掉UI線程?
你知道android的MessageQueue.IdleHandler嗎?
參考連接:
十六進制狀態管理-就算不去火星種土豆,也請務必掌握的 Android 狀態管理最佳實踐!
RecyclerView問題彙總
RecyclerView緩存機制(咋複用?)
AMS在Android起到什麼做用,簡單的分析下Android的源碼
Android View 的繪製流程
Android View繪製流程
自定義View之探索onLayout()、onMeasure()方法及做用
measure之UNSPECIFIED的用途
Glide最全解析-郭霖
加載大圖片
Android 高清加載巨圖方案 拒絕壓縮圖片
PhotoView 解析
數據結構:數組和鏈表的區別(數組和鏈表的優缺點 & 數組和鏈表的適用場景)
數據結構:八大數據結構分類
漫畫算法:什麼是紅黑樹?(適合初學紅黑樹小白簡單易懂)
一文讀懂HashMap
SparseArray:解析與實現
高級工程師調優祕籍;使用SparseArray代替HashMap
ArrayList的一些常見知識點
源碼閱讀之ArrayList實現細節
源碼閱讀之LinkedList實現細節
徹底解析Andorid的緩存機制LruCache
View.getContext() 必定返回 Activity 對象麼? View.getContext() 裏的小祕密
全面瞭解HTTP和HTTPS(開發人員必備)
ButterKnife 原理解析