自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

693的专栏

今天干不了的事情明天干,明天干不了的事情后天干。后天干不了的事情今天干。总之要干。

  • 博客(69)
  • 资源 (1)
  • 收藏
  • 关注

原创 Linux TOP CPU %wa 值的理解

起因近期阅读到Linux下显示CPU执行情况命令top的使用,网上搜索显示为单位时间io占用cpu比例 ,cpu等待输入输出,cpu等待io的时间。起初看来,总觉得是io瓶颈或者是cpu负载率,仔细琢磨,总觉得哪里出了问题跟进因为IO所需要的CPU资源是非常少的,CPU对于IO只是起到调用分派。那为何wa值经常很高。继续跟进。top不是显示cpu占用情况工具,而是linu...

2020-03-15 11:55:21 17354

原创 Kotlin HashMap remove失效 get失效问题

Kotlin HashMap remove失效 get失效 引发的一连串思考记录。由于最近转向大Google的Kotlin,使用感受非常好,推荐!但是今天竟然被HashMap折磨了。遇到问题记录如下。什么问题在使用一个HashMap集合时候,remove有时候能够成,有时候失败。get同理。debug查看,尽然3个一样的key能够存在于map中。多年来的经验告诉我。map有重复的key是覆...

2019-05-07 19:22:26 1721

原创 修改github开源库代码,快速上传到远程依赖库(jitpack),进行gradle dependencies compile 。Android或者java。

github上有许多优秀的第三方库,但是代码的耦合是必不可少的。应对需求,不想从头造轮子,又没有完全符合的,这里介绍怎么样快速的修改开源库的代码。2016年以前使用jcenter作为远程依赖仓库,兼职 入门到放弃,步骤之多简直 入门到放弃。使用jitpack实在太便捷。 所以记录下来。需要的条件github账号对就是这么简单。步骤打开github找到对应的库...

2018-05-11 01:08:02 1166

原创 Android AIDL完全配置解析入手。

前言模拟:我们需要外部进程服务提供一个计算地点横纵坐标的方法来显示到我们自己的Textview上。步骤第一步创建相对应Aidl文件与需要自定义的类型创建自定义类型首先新建一个项目 这里我们需要定义一个自定义类型LocationData 为了记录横众坐标与服务Pid,创建! LocationData.java 实现ParceLable借口,代码注释挺明白。具体可另行百度。public class

2016-10-21 17:19:00 1388

原创 Android特有Binder与IPC机制原理初探,看完应该理解一些些。

前言概述什么是Binder:1.Binder是一个类实现了IBinder接口,目的是为了IPC服务的。。2.Binder是ServiceManager连接各种Manager(ActivityManager、WindowManager…….)和相应的系统底层ManagerService的桥梁。3.Binder驱动程序提供设备文件Framework/dev/binder。什么是IPC(Inter-

2016-10-19 18:55:14 1895

原创 Android状态栏适配源码解析。

前言 Android状态栏透明,状态栏沉浸是我们必须要会弄的东西。 这里告诉你各个版本怎么适配,为什么需要分版本来适配!怎么使用状态栏透明:5.0以上: if (Build.VERSION.SDK_INT >= 21) { View decorView = getWindow().getDecorView(); int option = View.SYSTEM_UI_FLA

2016-10-17 19:00:40 2892

原创 Android提高与总结的Android技能导图

自己根据自己所涉及的一些知识点总结的Android技能图。大体涉及了Android应用开发较全面的重要的技术点! 另附技能导图 图片网址 !太小可以点击这里 Android技能导图个人总结:学习Android这么久了,总是会思考怎么才能提高自己的技术还有警惕自己需要提高的地方!新东西的出现时很快的,但是旧技术又很重要,只能提高! 个人总结:read the fucking sou

2016-09-20 16:02:35 480

原创 为何Android使用非静态内部类容易造成的泄漏!

前言先看完下面这些也许答案才能明白:静态变量与静态方法:数据存放的位置与普通变量方法不同;存放在data segment(数据段)指的是你程序运行之前就已经存进去数据了; 普通变量与普通方法:存放堆栈与方法区内,程序运行后才生成;所以时间都不平衡的两类数据是不能已经要存的调用未来的数据(静态调用非静态);理解这个时间顺序一系列问题也就可以解决了;再理解静态内部类与非静态内部类(咱不背规则咱要弄懂实

2016-09-08 11:33:03 1794

原创 可视化反编译APK工具,查看部分JAVA代码与全部资源文件。

前言APK是安卓安装包,里面主要就是两大部分资源文件,主要是图片与布局。dex文件,也就是各种代码转换成的Android可执行文件。如果直接ZIP打开混淆打包过的APK的话,会出现dex(或odex,ART模式)文件,资源文件全为乱码,这时候就需要反编译主要工具apktooldex2jarjd-guiapktool:将APK反编译能看到xml资源文件与smile代码,如果使用的apkt

2016-09-05 23:19:12 3093

原创 Plugin is too old,gradle版本不兼容问题!

首先清楚是驱动插件 gradle 与环境变量 classpath即Android Plugin 不融合错误, 好比一个是 驱动 一个是API , 驱动插件老的 配 API老的也能用。 驱动插件新的 配 API老肯定就不行了,要么能运行 没有新插件功能 要么就直接给你个错误 。但是!我们怎么能享受不到新版gradle的功能啦。比如及时更新。其实也没多大用。。。新功能也不常用。但是我是GEEK

2016-08-17 02:13:37 1018

原创 Android,Gilde框架加载图片进内存。出现的Bitmap too large to be uploaded into a texture

用ImageLoad加载图片,会有的图片load不出来,报出的警告是: Bitmap too large to be uploaded into a texture (440x5500 max=4096x4096):经过查找资料是因为当开启硬件加速的时候,GPU对于openglRender 有一个限制,这个不同的手机会有不同的限制:这个限制值可以通过canvas.getMaximumBitmapHe

2016-06-28 22:45:56 1316

原创 Android屏幕录制AS自带功能

用了这么久AS,以前都是用专门下个录制软件,今天使用了AS(AndoirdStuido)的屏幕录制功能。介绍下如下:1.在哪里使用? 打开模拟器或者真机点击这里,并且保证ADB连接上了。就能使用2.怎么设置?点击上述图标后 bit Rate :比特率 默认4M,理解为 4M的下载速度来看录制的视频。官方说明为视频数据转换速率。 resolution : 第一个空格为 宽高比,分辨率

2016-06-15 11:54:16 1174

原创 Activity的onCreate()的PersistableBundle 参数坑。

Bundle 与 PersistableBundle 区别仅仅是Activity oncreate()的一个参数与两个参数的区别 @Override public void onCreate(Bundle savedInstanceState,PersistableBundle p) { super.onCreate(savedInstanceState,p);

2016-05-20 16:04:43 4042

原创 Android Studio快速导入SO文件与jAR包

首先将你需要导入的jar包和so文件 直接拷贝至Projuect目录下的lib包下在Module层级下的build.gradle文件里写入此段代码 sourceSets{ main{ jniLibs.srcDir(['libs']) } }注意是在Android {}层级下。OK。导入成功 sourceSets{ main{ jniLibs.s

2016-05-17 19:45:09 1709 1

原创 让APK签名文件生成后变的更加小!

对于现在开发者各种第三方库,需求加大。APK文件避免不了越来越大。这里使用一个.exe压缩算法 GOOGLE的官方工具, https://github.com/google/zopfli但是我们直接在文件里面\sdk\build-tools\23.0.2 里面的zipalign.exe 步骤:首先打开CMD命令界面进入到此工具文件夹下 zipalign -z 4 old.apk new.a

2016-05-14 02:23:09 1475

原创 Retrofit 2.0 GET 请求参数出现错误

目前使用的是Retrofit 2.0.2测试版本 因为GEI请求中出现 {} ’错误符号(具体也没看是哪个符号错误)出现not valid as a java.net.URI导致无法访问,解决办法 Call<RootList> getUsersNamedTom(@Query(value ="query",encoded = true) String name);将 encoded =true 加入

2016-05-11 00:56:57 2656 1

原创 Andorid 点击按钮事件叠加时候的事件分析。

经过本人测试总结几点默认设置下 二个或者两个以上Button位置一样,后面解析的Button(ImageButton一样同原理)获得点击的焦点实现点击监听。 <Button android:id="@+id/iv1" android:layout_width="150dp" android:layout_height="150dp"

2016-04-25 12:30:41 2790

原创 Android Path,PathMeasure

Path见名思意就是路径的意思常用方法reset()// 重新设置Path值,,但是不改变内部的样式 moveTo(float x,float y) //设置轨迹起点 rMoveTo(float x,float y) //重新设置起点 如果没有moveTo则 等同于moveTo lineTo(float x,float y)// 一条线的轨迹 ,如果没有moveto则 从(0,0)开

2016-04-24 01:01:16 479

原创 MarkDown基本语法

使用Markdown的优点MarkDown使用基本语法标题List列表引用图片与链接粗体与斜体表格代码块下划线与删除线颜色==由于GitHub首页的READEME.md文件很牛逼看上去,各种简书类型的MD文件BLog,CSDN也有MD编辑模式,以前写代码也需要各种点击切换标题字体,故在此使用Markdown编辑blog与一些技术方面的记录== 图片转载于http://www.

2016-04-22 15:28:27 343

原创 Android 4.2手机后属性动画没效果。设置;

必须要设置过度动画缩放与动画程序时长调整。。如果不设置的话    Android默认的Interpolator类与ObjectAnimator类相关的API 将无法使用。设置大于1X或者小于1X的话 会出现动画过程出错更加快速或者慢速。如果设置关闭的话 动画过程不执行,只执行起始与结束。。。。  经过本人测试并不影响 View Animation,因为View Animat

2016-04-21 11:54:02 2805

转载 Android中自定义样式与View的构造函数中的第三个参数defStyle的意义

转自:http://www.cnblogs.com/angeldevil/p/3479431.html#conclusion 零、序一、自定义Style二、在XML中为属性声明属性值  1. 在layout中定义属性  2. 设置Style  3. 通过Theme指定三、在运行时获取属性值  1. View的第三个构造函数的第三个参数defStyle  2....

2016-04-14 05:48:25 252

原创 Andoird粗圆环的半径求取。

常常我们写到一些自定义控件时候,需要写一个圆环。周所周知Android并没有直接圆环的写法。所以我们把Paint线条加粗setStrokeWidth()设置值。然后画一个圆弧 调用canvas.drawArc()就成了圆环了。 那么这个时候 此圆环的半径就可以思考一下了。  一般圆的半径 很容易的 100X100的矩形内切圆  可得 50为园的半径如因为此时的线宽度不计就为...

2016-04-14 05:31:02 537

转载 PorterDuff.Mode说明

转自http://blog.csdn.net/t12x3456/article/details/10432935  从上面我们可以看到PorterDuff.Mode为枚举类,一共有16个枚举值: 1.PorterDuff.Mode.CLEAR    所绘制不会提交到画布上。2.PorterDuff.Mode.SRC   显示上层绘制图片3.PorterDuff.Mo...

2016-03-30 15:55:35 1045

转载 源码解析Android onmeasure()的量算过程

Android中的Veiw从内存中到呈现在UI界面上需要依次经历三个阶段:量算 -&gt; 布局 -&gt; 绘图,关于View的量算、布局、绘图的总体机制可参见博文《 Android中View的布局及绘图机制》。量算是布局和绘图的基础,所以量算是很重要的一个环节。本文将从源码角度解析View的量算过程,这其中会涉及某些关键类以及关键方法。对View进行量算的目的是让View的父控件知道Vie...

2016-03-17 22:44:21 396

原创 JAVA获取公网IP地址与内网IP地址方法

package SocketTest;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.InetAddress;import java.net.URL;

2016-03-14 03:29:41 4870 1

原创 Java常量池详解之一道比较蛋疼的面试题

 转载 http://www.cnblogs.com/DreamSea/archive/2011/11/20/2256396.html   今天My colleague问我一个让他头疼的Java question,求输出结果  代码如下:/** * * @author DreamSea 2011-11-19 */public class IntegerTest {...

2016-03-11 23:06:24 258

原创 String ,Stringbuffer ,StringBuilder;

突然看到StringBuffer有些忘记故写下来以便复习与更加理解。String 首先不多解释 ,在下面解释;StringBuffer是线程安全的,可以适用于多线程更改字符串内容。效率比StringBuilder低需要维护锁;StringBuilder是线程不安全的,但是效率高,常用语单线程修改字符串内容;首先说明StringBuffer与StringBuilder的区别;我们看源...

2016-03-11 22:46:05 283

原创 AIDL与Binder与Messenger的使用区别!

a.只有当你需要来自不同应用的客户端通过IPC(进程间通信)通信来访问你的服务时,并且想在服务里处理多线程的业务,这时就需要使用AIDL。b.如果你不需要同时对几个应用进程IPC操作,你最好通过实现Binder接口来创建你的接口。c.如果你仍需要执行IPC操作,但不需要处理多线程,使用Messenger来实现接口即可。d.无论如何,在实现AIDL之前确保你完全理解Bound

2016-03-10 00:05:07 3719

原创 ViewTreeObserver.OnPreDrawListener()第一次无法监听或View第一次加载无图像;

首先我们需要明白ViewTreeObserver的几个方法意义;interface  ViewTreeObserver.OnDrawListener 挡在一个视图树绘制时,所要调用的回调函数的接口类(level 16)interface          ViewTreeObserver.OnGlobalFocusChangeListener   当在一个视图树

2016-03-08 23:25:02 1363

原创 Android自定义属性中format类型。

Android开发是肯定需要自定义View的,自定义View 我们就需要自定义属性。往往是第一步;这里的属性不同于JAVA基本类型 一共有:string,color,demension,integer,enum,reference,float,boolean,fraction,flag; 1. reference:参考某一资源ID。    (1)属性定义:         ...

2016-03-08 09:05:53 540

原创 部分JAVA设计模式在Android中的体现。

设计模式在安卓中的体现 。代理模式:创建代理类,就是为其他对象提供一种访问代理,常用的类ActivityManager,,它相当于代理模式的类图中的client。在这个类中,可以看到大量的getxxx函数,这些函数,都会调用到ActivityManagerNative类的getDefault()方法,而该方法会获得一个共用的单例的IActivityManager引用,

2016-03-08 08:10:20 385

转载 eclipse启动tomcat无法访问

转载 http://blog.csdn.net/wqjsir/article/details/7169838症状:tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080/不能访问,且报404错误。同时其他项目页面也不能访问。关闭eclipse里面的tomcat,在tomcat安装目录下双击startup.bat手动

2015-12-21 09:43:13 551

转载 Android AutoLayout全新的适配方式 堪称适配终结者

转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/49990941; 本文出自:【张鸿洋的博客】一、概述相信Android的开发者对于设配问题都比较苦恼,Google官方虽然给出了一系列的建议,但是想要单纯使用这些建议将设备很轻松的做好,还是相当困难的。个人也比较关注适配的问题,之前也发了几篇关于适

2015-12-08 18:39:53 325

原创 JAVA与Android接口回调浅析;

首先 A类   B类两个类 一个接口C构成我们的接口回调.(能够传递数据能够调用方法).当然也有其他写法 但是本质都是一个道理.A类实现接口C. B 类调用接口C  (注意实现与调用)  实现就是Implement    调用就是得到这个接口对象并处理.关键点来了;因为我们A类实现了接口C,就成了C类的实现类,故B类调用接口时候可以将此接口就看作是A类 ;所以我们执行B类中对应的方法到了一

2015-12-03 02:29:11 387

原创 Arrays.asList的解析。

API说明:Arrays.asList()返回一个受指定数组支持的固定大小的列表。(对返回列表的更改会“直接写”到数组。)此方法同 Collection.toArray() 一起,充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。返回的列表是可序列化的 注意点:我们通过这个方法得到了一个list,但是这个List的实现类是java.util.Arrays....

2015-11-27 16:50:52 345

原创 修改ListView单个Item

问题:我们都知道刷新ListView,一般是通过Adapter的notifyDataSetChanged():通过集合的改动去刷新整个ListView ,如果ListView数据量庞大,当我们更改某一个数据的时候就会消耗加载内存!所以下列出ListView 只更新某一个或者几个的Item数据的情况处理;首先ListView的Item点击事件中mListView.setOnI

2015-11-23 10:38:20 1007

原创 方法形参操作改变传入前实际参数。

记住一点!    形参是否跟实际参数是一个对象地址,     也就是栈中的对象引用地址是否为同一个; 例如        public class Test1 {public static void changeStr(String str){str=”4321”; //查询常量池中没有4321 所以创建一个对象, 此时的str 已经不是主函数里面的str。}pu...

2015-11-21 12:16:05 671

原创 Jvm(java)内存存储简单区分。

JVM:无可厚非是控制我们java内存的虚拟机器.生命周期:Java程序开始到结束;(阅读过深入理解JVM)自己画的一个大致JVM加载与内存分配图与大致执行图; 堆运行时候所有new出来的实例或数组都是放在同一个堆里面的,因此只会有一个堆空间,大家一起共享。又因为一个JAVA程序占有一个虚拟机所以基本是没有影响的。但是由于共享,你所以线程共同操作一个堆数据,就会产生堆数据同...

2015-11-21 11:00:52 328

原创 自定义View中画布相关类及画布测量坐标系。

canvas类介绍Canvas这个类相当于一个画布,你可以在里面画很多东西;我们可以把这个Canvas理解成系统提供给我们的一块内存区域(但实际上它只是一套画图的API,真正的内存是下面的Bitmap),而且它还提供了一整套对这个内存区域进行操作的方法,所有的这些操作都是画图API。也就是说在这种方式下我们已经能一笔一划或者使用Graphic来画我们所需要的东西了,要画什么要显示什

2015-11-20 10:51:01 727

原创 View setTag()与getTag();

View中的setTag(Object)表示给View的实例 添加一个格外的数据,以后可以用getTag()将这个数据取出来。注意数据是 Object类型的 也就是可说是存储任意对象。 View中的源码   内部含有 一个protected 的 Objiect mTag 对象  ; 可以设置;protected Object mTag;public Object

2015-11-19 12:35:13 317

替换最新版Apktool的一键化工具

替换最新版Apktool的逆向助手,可查看反编译后的JAVA与无乱码的资源文件。

2016-09-05

空空如也

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

TA关注的人

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