<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[kangyouv的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/kangyouv</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; kangyouv]]></copyright><item><title><![CDATA[成员变量和局部变量区别以及对象的内存图]]></title><link>https://blog.youkuaiyun.com/kangyouv/article/details/87713880</link><guid>https://blog.youkuaiyun.com/kangyouv/article/details/87713880</guid><author>kangyouv</author><pubDate>Thu, 21 Feb 2019 10:51:22 +0800</pubDate><description><![CDATA[一、成员变量和局部变量区别



在类中的位置不同 重点
成员变量：类中，方法外

局部变量：方法中或者方法声明上(形式参数)

从上面的图，就可以看出

作用范围不一样 重点
成员变量：类中
           局部变量：方法中

成员变量在整个类中都可以调用，局部变量只能在方法中调用

初始化值的不同 重点
成员变量：有默认值，

局部变量：没有默认值。必须先定义，赋值，最后使用

在内存中...]]></description><category></category></item><item><title><![CDATA[java二进制编码以及数据类型转换]]></title><link>https://blog.youkuaiyun.com/kangyouv/article/details/87602295</link><guid>https://blog.youkuaiyun.com/kangyouv/article/details/87602295</guid><author>kangyouv</author><pubDate>Mon, 18 Feb 2019 16:10:25 +0800</pubDate><description><![CDATA[一、 java的基本数据类型

 1.基本数据类型位数（字节数）

位数
			1字节（8位）
			2字节（16位）
			4字节（32位）
			8字节（64位）
		类型
			byte
			short
			int
			long
		 
			boolean
			char
			float
			double
		2.基本数据类型范围



需要记住byte的取值范围为   -128...]]></description><category></category></item><item><title><![CDATA[Java多态，重写，重载]]></title><link>https://blog.youkuaiyun.com/kangyouv/article/details/80967385</link><guid>https://blog.youkuaiyun.com/kangyouv/article/details/80967385</guid><author>kangyouv</author><pubDate>Mon, 09 Jul 2018 18:21:40 +0800</pubDate><description><![CDATA[一、多态  1.多态多态的三个条        1.继承         2.要有方法的重写         3.父类引用指向子类对像            public class ObjectTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
			Father fa=ne...]]></description><category></category></item><item><title><![CDATA[Glide加载图片，GONE无法隐藏]]></title><link>https://blog.youkuaiyun.com/kangyouv/article/details/80663003</link><guid>https://blog.youkuaiyun.com/kangyouv/article/details/80663003</guid><author>kangyouv</author><pubDate>Tue, 12 Jun 2018 11:32:48 +0800</pubDate><description><![CDATA[Glide加载图片的过程中使用了动画，ImageView设置动画之后无法隐藏，所以，使用Glide加载图片dontAnimate()去掉动画 Glide.with(DealerDynamicActivity.this).load(file)
                        .asBitmap().fitCenter().dontAnimate()
                 ...]]></description><category></category></item><item><title><![CDATA[自定义Dialog dismiss时 View not attached to window manager]]></title><link>https://blog.youkuaiyun.com/kangyouv/article/details/78285350</link><guid>https://blog.youkuaiyun.com/kangyouv/article/details/78285350</guid><author>kangyouv</author><pubDate>Thu, 19 Oct 2017 15:23:44 +0800</pubDate><description><![CDATA[自定义Dialog 用来显示加载动画，自定义dialog有个定时器，当超过一定时间的时候，会自动dismiss掉dialog，但是当页面已经关闭的时候，这两个dismiss操作会重复，所以dismiss dialog会crash报错。 
View not attached to window manager解决方法，可以设置dialog的setOwnerActivity为当前页面，在dismiss时]]></description><category></category></item><item><title><![CDATA[在Android Studio 运行的时候报dalvikvm: Could not find class 'xxx',]]></title><link>https://blog.youkuaiyun.com/kangyouv/article/details/77948547</link><guid>https://blog.youkuaiyun.com/kangyouv/article/details/77948547</guid><author>kangyouv</author><pubDate>Tue, 12 Sep 2017 19:05:39 +0800</pubDate><description><![CDATA[转自 http://blog.youkuaiyun.com/u011005173/article/details/52232221问题描述:  
在Android Studio 运行的时候报E/dalvikvm: Could not find class ‘xxx’,  
但是在android5.0以上不会报此错误能运行成功。解决办法:  
在app->build.gradle 中有如下设置  buildTyp]]></description><category></category></item><item><title><![CDATA[Java四种线程池]]></title><link>https://blog.youkuaiyun.com/kangyouv/article/details/77075302</link><guid>https://blog.youkuaiyun.com/kangyouv/article/details/77075302</guid><author>kangyouv</author><pubDate>Thu, 10 Aug 2017 23:54:20 +0800</pubDate><description><![CDATA[遇到了上传图片的功能，之前由于上传图片数量少，没有使用线程池，现在要最多支持30张图片上传，再像之前上传多少张图片，就开启多少个线程就有点行不通了，所以使用了线程池。一、线程池 ExecutorService的基本使用
创建线程池对象
//使用定长类线程池newFixedThreadPool的方式演示 
ExecutorService fixedThreadPool= Executors.newFi]]></description><category></category></item><item><title><![CDATA[Android事件分发（3）--ViewGroup源码分析]]></title><link>https://blog.youkuaiyun.com/kangyouv/article/details/76594832</link><guid>https://blog.youkuaiyun.com/kangyouv/article/details/76594832</guid><author>kangyouv</author><pubDate>Wed, 02 Aug 2017 18:52:51 +0800</pubDate><description><![CDATA[一、ViewGroup的onInterceptTouchEvent源码分析onInterceptTouchEvent比较简单先看他的源码    public boolean onInterceptTouchEvent(MotionEvent ev) {
    //1、判断是否是鼠标设备操作
    //2、ACTION_DOWN事件
    //3、是否是首要按钮按下，如鼠标左键
    //4、]]></description><category></category></item><item><title><![CDATA[Android事件分发（2）]]></title><link>https://blog.youkuaiyun.com/kangyouv/article/details/76560780</link><guid>https://blog.youkuaiyun.com/kangyouv/article/details/76560780</guid><author>kangyouv</author><pubDate>Tue, 01 Aug 2017 22:40:35 +0800</pubDate><description><![CDATA[上一篇主要讲了onTouch和onTouchEvent区别： 
1、优先判断onTouch要不要执行 
2、如果onTouch执行，返回ture则消费了事件，onTouchEvent不再执行 
3、onTouch默认是null的，所以系统源代码 是在onTouchEvent里面识别和处理 点击，滑动，长按等事件的。以上，是分析 View中dispatchTouchEvent方法的源码得等的结论这次，]]></description><category></category></item><item><title><![CDATA[Android事件分发（1）]]></title><link>https://blog.youkuaiyun.com/kangyouv/article/details/76408414</link><guid>https://blog.youkuaiyun.com/kangyouv/article/details/76408414</guid><author>kangyouv</author><pubDate>Sun, 30 Jul 2017 22:59:02 +0800</pubDate><description><![CDATA[由于遇到了ScrollView嵌套EditText的滑动冲突问题，想深入了解一下Android的事件分发机制到底是怎么回事，也做一个总结。 
参考了部分郭霖的源码分析]]></description><category></category></item><item><title><![CDATA[ScrollView嵌套EditText的滑动冲突问题]]></title><link>https://blog.youkuaiyun.com/kangyouv/article/details/76339402</link><guid>https://blog.youkuaiyun.com/kangyouv/article/details/76339402</guid><author>kangyouv</author><pubDate>Sat, 29 Jul 2017 16:54:51 +0800</pubDate><description><![CDATA[项目中遇到了ScrollView嵌套EditText，输入框输入多行内容不能全部显示的时候，滑动EditText可以上下滑动查看EditText全部内容。
由于ScrollView也是可滑动的，EditText也是可滑动的，这就导致了滑动冲突]]></description><category></category></item><item><title><![CDATA[动态设置TextView的对齐方式以及getLineCount的使用]]></title><link>https://blog.youkuaiyun.com/kangyouv/article/details/76218247</link><guid>https://blog.youkuaiyun.com/kangyouv/article/details/76218247</guid><author>kangyouv</author><pubDate>Thu, 27 Jul 2017 19:59:00 +0800</pubDate><description><![CDATA[动态设置TextView的对齐方式以及getLineCount的使用]]></description><category></category></item><item><title><![CDATA[startactivityforresult的使用，和singleTask不能使用的问题]]></title><link>https://blog.youkuaiyun.com/kangyouv/article/details/76098023</link><guid>https://blog.youkuaiyun.com/kangyouv/article/details/76098023</guid><author>kangyouv</author><pubDate>Tue, 25 Jul 2017 20:03:23 +0800</pubDate><description><![CDATA[一、基本用法使用startActivityForResult开启页面的时候，当目标页面关闭的时候，可以回传数据给启动页面，比如ActivityA 使用startActivityForResult 启动ActivityB　则ActivityB关闭的时候，可以返回结果给ActivityA 
其中 启动页面ActivityA用到的函数有： 
startActivityForResult(intent, r]]></description><category></category></item><item><title><![CDATA[GridView、ListView数据更新图片闪烁问题]]></title><link>https://blog.youkuaiyun.com/kangyouv/article/details/76037480</link><guid>https://blog.youkuaiyun.com/kangyouv/article/details/76037480</guid><author>kangyouv</author><pubDate>Mon, 24 Jul 2017 20:07:33 +0800</pubDate><description><![CDATA[新功能是选择图片上传，选择完图片在上传前可以对已选择的图片进行删除。删除图片后，调用notifyDataSetChanged  通知UI数据更改。 
是用Imageloader展示图片。 
因为执行notifyDataSetChanged  后，GridView、ListView重新执行了getView 方法，getView 图片又重新加载。所以会出现图片会有闪烁。 
解决方法是给图片setTag]]></description><category></category></item><item><title><![CDATA[Activity四种启动模式]]></title><link>https://blog.youkuaiyun.com/kangyouv/article/details/75645496</link><guid>https://blog.youkuaiyun.com/kangyouv/article/details/75645496</guid><author>kangyouv</author><pubDate>Fri, 21 Jul 2017 18:48:58 +0800</pubDate><description><![CDATA[Activity有四种启动模式：standard（默认）、singleTop、singleTask、singleInstance 
通过AndroidManifest.xml中的activity的 android:launchMode=”—-“进行配置。一、standard是默认的启动模式，不配置launchMode就是标准启动模式每次startActivity的时候，都创建一个新的activity]]></description><category></category></item><item><title><![CDATA[Android消息机制-Handler原理（三）]]></title><link>https://blog.youkuaiyun.com/kangyouv/article/details/73864985</link><guid>https://blog.youkuaiyun.com/kangyouv/article/details/73864985</guid><author>kangyouv</author><pubDate>Wed, 28 Jun 2017 23:09:39 +0800</pubDate><description><![CDATA[一 .Handler的执行过程
 1.定义Handler对象，重写handleMessage方法
 2.handler 对象调用sendMessage 发送message，sendMessage 最终调用  sendMessageAtTime
 3.sendMessageAtTime方法又调用了 enqueueMessage 使message 加入到 消息队列 MessageQueue，并且]]></description><category></category></item><item><title><![CDATA[Android消息机制-Handler（二）]]></title><link>https://blog.youkuaiyun.com/kangyouv/article/details/73692212</link><guid>https://blog.youkuaiyun.com/kangyouv/article/details/73692212</guid><author>kangyouv</author><pubDate>Sat, 24 Jun 2017 15:35:35 +0800</pubDate><description><![CDATA[一.Handler的两类使用方法
Handler里面有两类方法，一类是sendxxxx()，另一类是postxxxxx()
A. sendxxxx方法
1.sendEmptyMessage(int what):只发送了一个what值，也就是handleMessage收到的msg里面what的值
2.sendEmptyMessageDelayed(int what,long delayMil]]></description><category></category></item><item><title><![CDATA[Android消息机制-Handler（一）]]></title><link>https://blog.youkuaiyun.com/kangyouv/article/details/73604231</link><guid>https://blog.youkuaiyun.com/kangyouv/article/details/73604231</guid><author>kangyouv</author><pubDate>Thu, 22 Jun 2017 14:47:42 +0800</pubDate><description><![CDATA[Android为了线程安全，不允许我们在UI线程外（即主线程外的子线程）操作UI。
1. 子线程为啥不能操作UI呢？
试想一下，如果多个线程都可以操作UI，不同线程都可以控制同一个UI，那么势必会出现线程安全问题。线程A在修改UI的同事，线程B也在改同一个UI，抢夺资源，且不同步。所以子线程操作UI都交给UI主线程去处理
2. 子线程中更新UI的3种方法
方法一：子线程调用Handler的]]></description><category></category></item><item><title><![CDATA[魅族虚拟按键遮挡问题]]></title><link>https://blog.youkuaiyun.com/kangyouv/article/details/73369287</link><guid>https://blog.youkuaiyun.com/kangyouv/article/details/73369287</guid><author>kangyouv</author><pubDate>Sat, 17 Jun 2017 11:12:06 +0800</pubDate><description><![CDATA[退出页，点击退出按钮，会弹出popwindow，在魅族手机上popwindow底部会被虚拟按钮挡住如下图






解决方法：

logoutPopWindow=new LogoutPopWindow(UserActivity.this);
logoutPopWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPU]]></description><category></category></item><item><title><![CDATA[java面向对象，继承的执行顺讯]]></title><link>https://blog.youkuaiyun.com/kangyouv/article/details/56485749</link><guid>https://blog.youkuaiyun.com/kangyouv/article/details/56485749</guid><author>kangyouv</author><pubDate>Wed, 22 Feb 2017 15:14:14 +0800</pubDate><description><![CDATA[包含静态代码块的，构造代码块的执行顺序
public class Demo1 {

	public static void main(String[] args)
	{
		Zi zi=new Zi();
	}
}

class Fu {
	static {
		System.out.println("静态代码块 父1");
	}
	{
		System.out.println("构造代码块 父]]></description><category></category></item></channel></rss>