如需转载,请标明原文出处: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 原理解析