自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 收藏
  • 关注

原创 常用浏览器内核

1、IE浏览器:Trident内核,也是俗称的IE内核;2、Edge浏览器:默认Chromium的Blink内核,可以打开Internet explore模式也就是Trident内核;3、Chrome浏览器:统称为Chromium内核或Chrome内核,以前是Webkit内核,后来2013年谷歌联手Opera自研和发布了Blink引擎;4、Safari浏览器内核:苹果开源Webkit内核;5、Firefox浏览器:Gecko内核,俗称Firefox内核;6、Opera浏览器:被奇虎360和昆仑万维

2022-03-09 10:29:41 3598

原创 线程超时处理

ExecutorService executorService = Executors.newSingleThreadExecutor();Future future = executorService.submit(CameraDeviceCache::closeAndClearAll);// closeAndClearAll的超时机制,避免anrtry { future.get(CLOSE_DEVICE_FUTURE_TIMEOUT, TimeUnit.MILLISECONDS); .

2021-03-12 18:04:14 610

原创 Android R适配过程中发现query的in语句异常

在查询媒体库的时候发现query会报异常,StringBuilder where = new StringBuilder();where.append("_data" + " IN (");for (int i = 0; i < videoPaths.length; i++) { where.append("\"" + videoPaths[i]); if (i < videoPaths.length - 1) { where.append("\",")

2021-02-01 17:27:15 299

原创 How to add a song to a playlist in android

在升级到Android R之后,发现没法将音乐添加到playlist了,找了半天发现是因为没有权限,在Q的时候不需要权限也可以add的.需要添加权限 android:sharedUserId="android.uid.system" private void addToPlaylist(ContentResolver resolver, int audioId, long playlistId) { Log.d(TAG, "addToPlaylis

2021-01-23 16:54:15 560 2

原创 异常 lock buffer failed for format 0x23

02-11 21:21:45.669625 14804 14815 W Monkey : // java.lang.RuntimeException: lock buffer failed for format 0x2302-11 21:21:45.669625 14804 14815 W Monkey : // at android.media.ImageReader$Surface...

2020-02-12 15:43:00 56

原创 解决Fail to post notification on channel "null"的方法

mNotifyMgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);mNotifyMgr.cancelAll();String title = getString(R.string.filtershow_notification_label); if(Build.VERSION.SDK_INT &...

2019-12-28 11:01:00 34

原创 source for "Android 28 platform" not found

source for "Android 28 platform" not found解决办法:点击右上角的Download,但是下载完点击Refresh之后没有反应,这时候需要重新关联sdk。具体方法:File->Appearence&Behavior->System Settings->Android Sdk,将SDK的路径重新设置一遍即可。...

2019-09-21 15:14:00 27

原创 Android 8.1 自定义热点的时候设置了热点maxLength="32",但是在希伯来语等状态下还是发现在没到32个字符之前就无法把热点设置成功了...

初步认为应该是与热点名称的字节数有关。然后开始查看源码。/Settings/res/xml/tether_prefs.xml中的 <Preference android:key="hotspot_settings" android:title="@string/hotspot_preference_title" androi...

2019-08-09 18:01:00 23

原创 DexOpt相关的异常

查找的资料dvm探讨之odex绕过DexClassLoader4.4.2动态加载分析(磁盘加载分析)04-11 23:34:36.850 D/dalvikvm( 2255): DexOpt: incorrect opt magic number (0xff ff ff ff)04-11 23:34:36.850 D/dalvikvm( 2255): ODEX file is stal...

2019-08-06 17:20:00 22

原创 Android studio 2 版本升级 Android studio 3 版本注意事项

1. compile 需要改成 implementation 或者 api例:implementation 'com.android.support:support-v4:23.4.0'详细规则 https://blog.csdn.net/yuzhiqiang_1993/article/details/783669852. apt 需要去掉,改成 annotationProcessor例:...

2019-04-03 14:31:00 18

原创 C/C++中extern关键字详解

转自chao_yu,cnblog.com1基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这...

2019-03-29 14:13:00 16

原创 android 卡顿 Matrix TraceCanary

转载:通过观察大盘整体的帧率及掉帧程度,来评估并监控一些重要场景的流畅性。通过一个闭环的流程,利用 Matrix-TraceCanary 模块从客户端对卡顿进行捕捉与分析上报,通过后台聚类问题堆栈及版本对比,找到卡顿堆栈的责任人,通知其进行解决优化,而最终处理的效果也会在 Matrix 平台中反应出来。在这样不断发现卡顿,解决卡顿的过程中,希望尽可能地优化Android客户端的流畅性,给用户带...

2019-03-18 19:58:00 23

原创 Android开发相关的Blog推荐——跟随大神的脚步才能成长为大神

转载:https://blog.csdn.net/zhaokaiqiang1992/article/details/43731967CSDN 鸿洋:http://blog.csdn.net/lmj623565791 爱哥:http://blog.csdn.net/aigestudio 老罗:http://blog.csdn.net/luoshengyang ...

2019-02-28 14:40:00 18

原创 Android 静态/动态壁纸(Live wallpaper)开发-WallpaperService

Android 静态/动态壁纸(Live wallpaper)开发-WallpaperService

2019-01-24 20:16:00 25

原创 Android launcher 壁纸 wallpaper

壁纸分为动态和静态两种:如果只需要修改默认静态壁纸,替换frameworks/base/core/res/res/drawable/default_wallpaper.jpg即可,或者在源码中修改对应default_wallpaper地址.修改动态壁纸:在frameworks/base/core/res/res/values目录找到Config.xml文件,最后一行有定义:<string...

2019-01-24 18:15:00 31

原创 WebView与 JS 交互方式

WebView与 JS 交互方式

2018-11-09 09:21:00 23

原创 https小结

https小结

2018-11-07 09:44:00 15

原创 Android -- 多媒体播放之MediaPlayer使用内部实现简析

Android -- 多媒体播放之MediaPlayer使用内部实现简析

2018-11-02 10:12:00 20

原创 一篇文章了解相见恨晚的 Android Binder 进程间通讯机制

一篇文章了解相见恨晚的 Android Binder 进程间通讯机制Android面试题:bindService获取代理是同步还是异步

2018-11-01 09:35:00 14

原创 创建Android守护进程(底层服务)

创建Android守护进程(底层服务)Android 守护进程的实现方式

2018-10-24 19:31:00 17

原创 Android系统架构与系统源码目录

Android系统架构与系统源码目录

2018-10-18 09:47:00 11

原创 使用AndroidStudio编写第一个JNI程序

使用AndroidStudio编写第一个JNI程序

2018-10-17 11:17:00 10

原创 碰到了通过Movie显示gif图片,有部分图片的duration为0导致gif只显示第一帧

解决办法,改为使用android-gif-drawable.jar来显示gif图片(需要配合com.android.support:support-v4:18.0.0使用)GifImageView imageView = new GifImageView(this);GifDrawable gifFromPath = null; try { ...

2018-10-08 14:43:00 21

原创 AIDL使用以及原理分析

AIDL使用以及IPC原理分析(进程间通信)概要为了大家能够更好的理解android的进程间通信原理,以下将会从以下几个方面讲解跨进程通讯信:1. 必要了解的概念2. 为什么要使用aidl进程间通信3. 可能遇到的问题以及解决办法4. aidl的使用,通过android提供的aidl实现一个进程间通信5. 不使用aidl,手动编写Binder实现进程间通信6. 分析aidl的原理...

2018-09-28 16:42:00 10

原创 Android 之文件夹排序

按文件名排序 /** * 按文件名排序 * @param filePath */ public static ArrayList<String> orderByName(String filePath) { ArrayList<String> FileNameList = new ArrayList<S...

2018-09-20 11:34:00 16

原创 Fragment与Fragment相互切换之间的生命周期方法

Fragment 1 切换到 Fragment 2时生命周期变化1、通过 add hide show 方式来切换 FragmentFragment1 的生命周期变化为:onCreate()、onCreateView、onStart()、onResume() 回调 onHiddenChanged() 方法Fragment2 的生命周期变化为: onCreate()、onCreat...

2018-08-01 14:37:00 13

原创 git使用笔记

用git 远程获取指定分支的代码git clone只能clone远程库的master分支,无法clone所有分支,解决办法如下:1. 找一个干净目录,假设是git_work2. cd git_work3. git clone http://xxxxx.xxx.com/project/.git ,这样在git_work目录下得到一个project子目录4. cd project5. g...

2018-07-20 13:39:00 8

原创 android studio gradle 更新方法。

Androidstudio更新第一步:在你所在项目文件夹下:你项目根目录gradlewrapper gradle-wrapper.properties (只要在打开项目的时候选OK,这个文件就会出现)修改gradle-wrapper.properties最后一行的地址我的是:1distributionUrl=https://services.gradle.org...

2018-04-25 14:21:00 19

原创 Android studio怎么使用自定义的framework而避免冲突报错和点不进去报红。

文件:xx\project_abc\video\build.gradle保证可以运行到自定义的framework而不报错,可能因为project和module名字相同所以导致下面的路径是绝对路径,其他人使用需要修改这个文件的路径allprojects { repositories { jcenter() } // 保证可以运行到自定义的framewor...

2018-03-08 10:01:00 24

原创 Java内存管理的进一步理解-模拟过程图解

Java内存管理的进一步理解-模拟过程图解--转载java的内存管理分为:1、堆内存;2、栈内存;3、方法区;4、本地方法区/*1:方法区方法区存放装载的类数据信息包括:(1):基本信息:1)每个类的全限定名2)每个类的直接超类的全限定名(可约束类型转换)3)该类是类还是接口4)该类型的访问修饰符5)...

2018-01-26 11:46:00 8

原创 深入理解Java内存(图解堆栈)

深入理解Java内存(图解)--转载深入理解Java内存(图解)这篇文章是转自http://blog.csdn.net/shimiso/article/details/8595564博文,自己对其中一些东西加入了自己的理解和补充。进入正题前首先要知道的是Java程序运行在JVM(Java VirtualMachine,Java虚拟机)上,可以把JVM理解成Java程序和操作系统之间的桥...

2018-01-26 11:13:00 8

原创 Python 通过脚本获取Android的apk的部分属性,再通过加密算法生成秘钥。

Python 通过脚本获取Android的apk的部分属性,再通过加密算法生成秘钥。#!/usr/bin/env python # -*- coding: utf-8 -*- import os import sys import zipfile import reimport hashlib #MD5和sha1算法def getAppBaseInfo(apkpath...

2018-01-19 16:29:00 10

原创 Android开发中碰到的一个ANR问题。

这是一个点击之后反应超时的ANR[2018/1/12 10:25:21] 01-12 10:24:57.343 337 1279 D ActivityManager: Delay resumeKeyDispatchingLocked() to avoid deadlock.[2018/1/12 10:25:21] 01-12 10:24:57.343 337 376 E AN...

2018-01-19 11:33:00 15

原创 Android 解决通过自定义设置打开热点后手机搜索不到热点的问题。

开发过程中出现了通过自定义设置打开热点后手机搜索不到热点的问题。后来通过观看 /data/misc/wifi 目录下的 hostapd.conf 文件,发现是interface=ap0driver=nl80211ctrl_interface=/data/misc/wifi/hostapdssid=Anffffchannel=6ieee80211n=1hw_mode=g...

2018-01-18 15:02:00 34

原创 Android 反射获取一个方法(方法的参数不一样)

private Method forget; private Method connect_netID; private Method connect_wifiConfig; private Method save; public Compatimpl17() { try { ...

2017-12-22 15:33:00 18

原创 Android 通过反射获取DatePicker 中的控件,并改变其颜色

到最后也只是成功改变了中间部分的颜色。 private void setDatePickerDividerColor(DatePicker datePicker) { // Divider changing: // 获取 mSpinners LinearLayout llFirst = (LinearLayout) datePicker...

2017-11-27 10:42:00 12

原创 Android 解析标准的点击第三方文件管理器中的视频的intent

解析标准的第三方视频intent private List<String> mCurPlayList = new ArrayList<String>(); private int mCurPosition = 0; // 当前的位置信息if (intent != null && TextUtils.equals(intent.get...

2017-11-02 10:20:00 14

原创 Fragment已经被added了导致的异常。

java.lang.IllegalStateException: Fragment already added: ******Effect出现的原因是commit方法提交是异步的,所以容易出现,判断的时候是还没有added的状态,但是在真的添加的时候,重复添加了,其实就是一个同步异步的问题。解决方式其实就是自己添加一个tag,每个fragment一个tag就可以解决重复添加导致的异常了。...

2017-07-27 17:39:00 28

原创 FragmentActivity + Fragment + Fragment使用过程中出现的bug

FragmentActivity + Fragment(通过hide和show来显示fragment) + Fragment(通过viewpager来显示fragment)在Activity中 //开启事务 FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ...

2017-05-31 13:53:00 9

原创 Android学习笔记之SoftReference软引用,弱引用WeakReference

SoftReference可以用于bitmap缓存WeakReference 可以用于handler非静态内部类和匿名内部类容易造成内存泄漏 private Handler mRemoteHandler = new SafeHandler(this); private static final int INIT_UI = 1; /** * safe h...

2017-05-25 15:35:00 6

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除