自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程池详解【ThreadPoolExecutor7个构造函数,四类线程池及饱和策略和使用场景】

jdk1.5引入Executor线程池框架,通过它把任务的提交和执行进行解耦,只需要定义好任务,然后提交给线程池,而不用关心该任务是如何执行、被哪个线程执行,以及什么时候执行。1.初始化线程池(4种)简介:Java线程池的工厂类:Executors类,初始化4种类型的线程池:1.newFixedThreadPool()说明:初始化一个指定线程数的线程池,其中corePoolS...

2018-08-24 02:17:55 1058

原创 轻松简单实现多个Fragment切换碎片【底部导航】

 作用:fragment+button //最快制作页面底部的四个RadioButto1.倒依赖compile 'com.hjm:BottomTabBar:1.1.1'2.在xml中添加此控件: <com.hjm.bottomtabbar.BottomTabBar          android:id="@+id/bottom_tab_bar"        ...

2018-08-21 19:31:11 933

原创 sharedpreferences 存取图片之String与Bitmap互相转换

1保存图片:注意:此方法只是系统调用相机裁剪的一部分。// 保存图片private SharedPreferences sp;FileOutputStream outputStream = null;//显示裁剪后的图片@RequiresApi(api = Build.VERSION_CODES.FROYO)private void setPicToView(Intent da...

2018-08-21 15:29:22 404

原创 第三方Mob官方SMSSDK轻松实现【短信验证码】功能

首先在Mob后台管理中获取mob的appkey点击查看获取步骤一、配置gradle1、打开项目根目录的build.gradle,在buildscrip–>dependencies 模块下面添加  classpath ‘com.mob.sdk:MobSDK:+’,如下buildscript {    repositories {        jcenter() ...

2018-08-21 11:09:43 1538

原创 如何解决Cause:null value in entry: incrementalFolder=null

今天到项目时一直报错,一开始还以为是依赖版本太低或太高跟我的Studio版本不一致,但是到最后报了:原因:条目中的NULL值:增量文件夹=空Cause: null value in entry: incrementalFolder=null解决:将project最外层的.gradle文件删除(标签是红色的那个)。再重新编译一下就OK了。 ...

2018-08-20 16:51:39 1259

原创 如何解决Android遇到的65536问题

1.异常爆出:异常代码:com.android.dex.DexIndexOverflowException:method IDnotin[0,0xffff]:655362.解决方式:1.倒入依赖:compile 'com.android.support:multidex:1.0.1'2.然后在 build.gradle 文件中的 defaultConfig 配置中添加配置:...

2018-08-16 11:28:59 404

原创 客户端集成环信推送【被挤下线】原理及步骤

1.原理:  被挤下线功能,即一个账号在A客户端保持登陆状态,然后又在B客户端进行了登陆操作,那么A客户端就会被挤下线。当用户user1使用账号123456登录app后,用户user2在另一台手机使用同一账号123456登录,这时需要给A发通知给出提示,并强制user1下线。在app不在前台(包括完全退出和按了home键)的时候,不给提示,重新进入app给出提示.那么其实有4种情况:...

2018-08-15 21:29:42 1591

原创 使用LeakCanary解决Handler和AsnycTask的OOM

添加依赖:佳姝1:在项目的build.gradle中添加以下依赖   debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.1'    releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.1'    //...

2018-08-10 19:11:06 336

原创 Andorid 支付宝调H5显示页面 4000系统繁忙异常

订单支付失败4000异常:resultStatus结果码含义返回码 含义 9000 订单支付成功 8000 正在处理中,支付结果未知(有可能已经支付成功),请查询商户订单列表中订单的支付状态 4000 订单支付失败 5000 重复请求 6001 用户中途取消 6002 网络连接出错 6004 支付结果未知(有可能已经支...

2018-08-10 16:51:39 1604

原创 Couldn't load hyphenate from loader dalvik.system.PathClassLoader[DexPathList

异常: android studio导入so包异常:Couldn't load hyphenate from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.asus.huanxin2_qunl-2.apk"],nativeLibraryDirectories=[/data/ap...

2018-08-08 16:46:07 537

原创 Program type already present: com.hyphenate.EMChatRoomChangeListener

异常:Program type already present: com.hyphenate.EMChatRoomChangeListenerMessage{kind=ERROR, text=Program type already present: com.hyphenate.EMChatRoomChangeListener, sources=[Unknown source file], ...

2018-08-08 16:15:57 1702

原创 三级缓存原理【LruCache与DiskLrucache】

一、Android中的缓存策略一般来说,缓存策略主要包含缓存的添加、获取和删除这三类操作。如何添加和获取缓存这个比较好理解,那么为什么还要删除缓存呢?这是因为不管是内存缓存还是硬盘缓存,它们的缓存大小都是有限的。当缓存满了之后,再想其添加缓存,这个时候就需要删除一些旧的缓存并添加新的缓存。LRU(Least Recently Used)缓存算法:因此LRU(Least Recent...

2018-08-05 19:37:33 968

原创 简单的第三方分享之隐式跳转

图片展示//此跳转写于点击事件内Intent textIntent = new Intent(Intent.ACTION_SEND);textIntent.setType("text/plain");textIntent.putExtra(Intent.EXTRA_TEXT, "这是一段分享的文字");startActivity(Intent.createChooser(...

2018-08-01 23:28:52 307

空空如也

空空如也

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

TA关注的人

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