- 博客(12)
- 资源 (4)
- 收藏
- 关注
原创 AsyncTask源码浅析是串行还是并行
内容点:AsyncTask由哪些内容组成?一个AsyncTask对象只能调一次execute,为什么?AsyncTask是串行还是并行?本文是自己开始看源码的记录,希望能给相同刚开始看源码的同志一个参考。1、AsyncTask的组成成员:ThreadPoolExecutor THREAD_POOL_EXECUTOR//线程池,真正执行任务的线程WorkerRunnable&l...
2020-04-09 14:12:15
348
原创 解决Minimum supported Gradle version is 4.6. Current version is 4.3.1得其中一种情况
最近gradle更新到了3.3,studio 每次重新进入项目都会提醒更新,于是手贱便点击了update。结果就是自己挖的坑把自己埋了两天半,在这记录一下,以便各位道友谨慎小心。推荐:解决Minimum supported Gradle version is 3.3. Current version is 2.14.1若没有效果,并网上其他方法也试过了,还是无法解决。那么请试试我的方法,当然...
2019-09-06 11:08:34
8411
3
原创 关于Android签名详细实操--查看apk签名信息,查看签名证书信息,直接命令更换apk签名
前提:有apk文件, 需要的签名文件(可以是jxs/keystore/(x509.pem、pk8))jdk和sdk环境变量都配好,若未配好可以百度,随便一搜一大把,需要保证:cmd命令窗口–keytool 和Java 能正常执行。主要内容:1、查看apk签名信息;2、查看签名文件的信息;3、更换apk文件的签名;4、如何将x509.pem和pk8证书文件转为keystore文件(需要...
2019-08-27 15:35:50
2730
原创 Recyclerview 局部刷新:notifyItemRangeInserted、notifyItemRangeRemoved、notifyItemRangeChanged
Recyclerview的局部刷新功能:从指定位置开始刷新指定个item,notifyItemRangeChanged(int,int);增、删、改的局部刷新:增:notifyItemRangeInserted(int startPosition,int itemcount)startPosition:起始位置,插入数据的位置。itemcount:数据个数。删:notifyItem...
2019-08-20 11:33:50
19897
原创 Canvas drawBitmap()方法的详细说明
1、基本的绘制图片方法//Bitmap:图片对象,left:偏移左边的位置,top: 偏移顶部的位置drawBitmap(Bitmap bitmap, float left, float top, Paint paint)2、对图片剪接和限定显示区域drawBitmap(Bitmap bitmap, Rect src, RectF dst, Paint paint);Rect src: ...
2019-08-16 14:54:29
4620
转载 android view 转Bitmap 生成截图
此文为转载,原文链接:https://mp.weixin.qq.com/s/FQmYfT-KYiDbp-0HzK_Hpw项目中经常会用到分享的功能,有分享链接也有分享图片,其中分享图片有的需要移动端对屏幕内容进行截取分享,说白了就是将view 转成bitmap 再到图片分享,还有一种情况是将不可见的view 转成bitmap ,这种view是没有直接显示在界面上的,需要我们使用inflate 进...
2019-08-15 10:22:29
235
转载 详细Dagger2入门
本文是作者在学习Dagger2入门的一篇很好的文章,特此在此转载,非原创Dagger官网Dagger Document API从零开始的Android新项目4http://www.bozhiyue.com/anroid/boke/2016/0719/273761.html环境配置这里以Gradle配置为例子,实用得是AndroidStudio:打开project 的 build.gr...
2019-08-13 13:47:49
176
原创 app修改系统语言,界面刷新过慢的问题
先说问题:可能使用的刷新方式为重新生产Activity,杀掉重生生产,比较耗时,若还存在重新更新数据,就更加缓慢。解决办法:修改系统语言,刷新界面有两种方式:1、通过杀掉activity,后重新生产activity,走onCreate()方法。2、通过onConfigurationChanged()自行刷新界面。此方法注意在清单文件中添加此段代码:办法就是:用第二种方法,自行国际化,...
2019-02-27 13:56:44
557
转载 卡顿检测工具TraceView之界面说明
Traceview视图分两部分,上半部分为时间片面板(Timeline Panel),下半部分为分析面板(Profile Panel)。图5、时间片面板X轴表示时间消耗,单位为毫秒(ms),Y轴表示各个线程,每个线程中的不同方法使用了不同的颜色来表示,颜色占用面积越宽,表示该方法占用CPU时间越长。时间片面板可以放大/缩小,也可以指定区域放到最大,方便查看具体的过程,一般优先选择放大耗时严...
2018-12-27 16:29:18
423
原创 Android 淡入浅出动画 无限轮播 demo
废话不多,直接上代码: Handler handler = new Handler(new Handler.Callback() { /** * @param message * @return */ @Override public boolean handleMessage(Me...
2018-09-05 11:09:56
1194
原创 Android 6.0及以上版本,wifiManager.getScanResults()获取数据为空的最直接原因,及解决方法。
在网上所有了此问题,提示一致都是需要加入获取位置的权限(android.permission.ACCESS_FINE_LOCATION),这是6.0系统后加入的梗。 但由于本人有点傻,加了权限后仍旧不行,经过一轮失败后,原来是手机的“位置信息”权限并未打开。 直接解决问题的步骤: 1.加入权限: 2.将软件权限中的读取位置信息的权限打开(或动态添加权限,链接:https://blog.cs...
2018-08-13 10:03:28
8378
3
signapk.jar:针对 platform.x509.pem和platform.pk8,更换Androidapk文件签名的工具包
2019-08-27
apksigner.jar
2019-08-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人