<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[罐v子的博客]]></title><description><![CDATA[Android开发路上的一个迷途者。如果对我写的文章有不同观点，欢迎提出，我们一起探讨。]]></description><link>https://blog.youkuaiyun.com/vapingzi</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; vapingzi]]></copyright><item><title><![CDATA[魅族Flyme手机无法连接电脑ADB调试]]></title><link>https://blog.youkuaiyun.com/vapingzi/article/details/82354623</link><guid>https://blog.youkuaiyun.com/vapingzi/article/details/82354623</guid><author>vapingzi</author><pubDate>Mon, 03 Sep 2018 20:47:47 +0800</pubDate><description><![CDATA[魅族Flyme手机无法连接电脑ADB调试

有些用魅族手机调试的童鞋可能会发现魅族手机可以连接电脑传输文件，打开了调试功能，但是就是不能连接到ADB。有些情况下，打开设备管理器也可以看到ADB那里有个黄色的感叹号，明显就是ADB有异常嘛。那要怎么解决呢？下面提供两种方法：

方法一：



MAC的设置方法:

1.把Android手机开启调试模式，然后连接在我们的Mac OS上。 
2.选择Ma...]]></description><category></category></item><item><title><![CDATA[Java+Android面试知识点（三）]]></title><link>https://blog.youkuaiyun.com/vapingzi/article/details/79397480</link><guid>https://blog.youkuaiyun.com/vapingzi/article/details/79397480</guid><author>vapingzi</author><pubDate>Wed, 28 Feb 2018 10:44:37 +0800</pubDate><description><![CDATA[ARP协议

在IP以太网中，当一个上层协议要发包时，有了该节点的IP地址，ARP就能提供该节点的MAC地址。



HTTP、HTTPS的区别


HTTP所封装的信息时明文的；HTTPS使用TLS（SSL）进行加密
HTTP缺省工作在TCP协议80端口；TTPS缺省工作在TCP协议443端口
HTTPS的工作流程一般如以下方式： 
完成TCP三次同步握手
客户端验证服务器数字证书，通过则进入步......]]></description><category></category></item><item><title><![CDATA[为什么Looper.loop()死循环不会导致ANR]]></title><link>https://blog.youkuaiyun.com/vapingzi/article/details/79395012</link><guid>https://blog.youkuaiyun.com/vapingzi/article/details/79395012</guid><author>vapingzi</author><pubDate>Wed, 28 Feb 2018 07:47:12 +0800</pubDate><description><![CDATA[为什么loop这个死循环会在主线程执行，不会ANR么？

答：最开始Android的入口ActivityThread里面的main方法，里面有一个巨大的Handler，然后会创建一个主线程的looper对象，这也是为什么直接在主线程拿Handler就有Looper的原因，在其他线程是要自己Looper.prepare()的。 
其实整个Android就是在一个Looper的loop循环的，整个An...]]></description><category></category></item><item><title><![CDATA[Java多线程——线程池原理]]></title><link>https://blog.youkuaiyun.com/vapingzi/article/details/79394986</link><guid>https://blog.youkuaiyun.com/vapingzi/article/details/79394986</guid><author>vapingzi</author><pubDate>Wed, 28 Feb 2018 07:29:48 +0800</pubDate><description><![CDATA[前言

线程是稀缺资源，如果被无限制地创建，不仅会消耗系统资源，还会降低系统稳定性。合理地使用线程池对线程进行统一分配、调优和监控，有以下好处：


降低资源消耗
提高响应速度
提高线程的可管理性


Java1.5引入的Executor框架把任务的提交和执行进行解耦，只需要定义好任务，然后提交给线程池。而不需要关心该任务是如何执行、被哪个线程执行以及什么时候执行。



线程池的使用

步骤如下...]]></description><category></category></item><item><title><![CDATA[Java线程基础]]></title><link>https://blog.youkuaiyun.com/vapingzi/article/details/79394983</link><guid>https://blog.youkuaiyun.com/vapingzi/article/details/79394983</guid><author>vapingzi</author><pubDate>Wed, 28 Feb 2018 07:23:13 +0800</pubDate><description><![CDATA[多线程基础



什么是线程以及线程与进程的区别

在现代操作系统中，运行一个程序时，会为其创建一个进程。例如启动一个QQ程序，操作系统就会为其创建一个进程。而操作系统中调度的最小单位元是线程，也叫轻量级进程，在一个进程里可以创建多个进程，这些线程都拥有各自的计数器，堆栈和局部变量等属性，并且能够访问共享的内存变量。处理器在这些线程上高速切换，让使用者感觉到这些线程在同时执行。因此我们可以这样理解...]]></description><category></category></item><item><title><![CDATA[equal和“==”的区别]]></title><link>https://blog.youkuaiyun.com/vapingzi/article/details/79394978</link><guid>https://blog.youkuaiyun.com/vapingzi/article/details/79394978</guid><author>vapingzi</author><pubDate>Wed, 28 Feb 2018 07:15:59 +0800</pubDate><description><![CDATA[
“==”对于基本数据类型，判断两个变量的值是否相等；对于引用类型则比较两个对象是否地址相同，是否为同一引用。
“equal”不能用于基本数据类型。只能用于类变量。对于基本数据类型要用其包装类。


因为对象变量的存储的是对象在内存中的路径，即内存地址。所以用“==”比较时，即使对象的值相等，但是他们的内存地址不同，所以==的结果为false。故“==”用于比较两个变量的值是否相等，而不是变量引用...]]></description><category></category></item><item><title><![CDATA[Java+Android面试知识点（二）]]></title><link>https://blog.youkuaiyun.com/vapingzi/article/details/79394975</link><guid>https://blog.youkuaiyun.com/vapingzi/article/details/79394975</guid><author>vapingzi</author><pubDate>Wed, 28 Feb 2018 07:10:54 +0800</pubDate><description><![CDATA[1. [Map、Set、List、Queue、Stack的特点与用法](#map-set-list-queue-stack的特点与用法)
2. [HashMap和HashTable的区别](#hashmap和hashtable的区别)
3. [](#)
4. [HashMap、LinkedHashMap和TreeMap的区别](#hashmap-linkedhashmap和treemap的区别)
......]]></description><category></category></item><item><title><![CDATA[Java+Android面试知识点（一）]]></title><link>https://blog.youkuaiyun.com/vapingzi/article/details/79391006</link><guid>https://blog.youkuaiyun.com/vapingzi/article/details/79391006</guid><author>vapingzi</author><pubDate>Tue, 27 Feb 2018 17:19:04 +0800</pubDate><description><![CDATA[1. [Android中的进程优先级](#android中的进程优先级)
2. [DVM是什么？](#dvm是什么)
3. [Dalvik虚拟机实例和Linux进程的关系](#dalvik虚拟机实例和linux进程的关系)
4. [ArrayList 和LinkedList的内部实现](#arraylist-和linkedlist的内部实现)
5. [Vector 和 ArrayList的区别](......]]></description><category></category></item><item><title><![CDATA[Android内存泄漏的分析和避免]]></title><link>https://blog.youkuaiyun.com/vapingzi/article/details/79390903</link><guid>https://blog.youkuaiyun.com/vapingzi/article/details/79390903</guid><author>vapingzi</author><pubDate>Tue, 27 Feb 2018 17:13:02 +0800</pubDate><description><![CDATA[内存泄漏

Java是垃圾回收语言的一种，其优点是开发者无需特意管理内存分配，降低了应用由于局部故障(segmentation fault)导致崩溃，同时防止未释放的内存把堆栈(heap)挤爆而导致程序崩溃的可能，所以写出来的代码更为安全。

不幸的是，在Java中仍存在很多容易导致内存泄漏的逻辑可能(logical leak)。如果不小心，你的Android应用很容易浪费掉未释放的内存，最终导致...]]></description><category></category></item><item><title><![CDATA[魅族不启动GPS，无法扫描WiFi信息]]></title><link>https://blog.youkuaiyun.com/vapingzi/article/details/79390620</link><guid>https://blog.youkuaiyun.com/vapingzi/article/details/79390620</guid><author>vapingzi</author><pubDate>Tue, 27 Feb 2018 16:57:03 +0800</pubDate><description><![CDATA[由于Android4.0以上不允许强制修改系统设置，所以要引导用于前往设置GPS功能启动。

启动GPS设置方法：



public static final int LOCATION_REQUEST = 110;

public static LocationManager openGPSSettings(final Context context){

    LocationManager...]]></description><category></category></item><item><title><![CDATA[Java内存模型]]></title><link>https://blog.youkuaiyun.com/vapingzi/article/details/79191298</link><guid>https://blog.youkuaiyun.com/vapingzi/article/details/79191298</guid><author>vapingzi</author><pubDate>Mon, 29 Jan 2018 08:45:49 +0800</pubDate><description><![CDATA[Java内存模式



关于高速缓存

大家都知道，计算机在执行程序时，每条指令都是在CPU中执行的，而执行指令过程中，势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存（物理内存）当中的，这时就存在一个问题，由于CPU执行速度很快，而从内存读取数据和向内存写入数据的过程跟CPU执行指令的速度比起来要慢的多，因此如果任何时候对数据的操作都要通过和内存的交互来进行，会大大降低指令执]]></description><category></category></item><item><title><![CDATA[Activity启动流程和生命周期]]></title><link>https://blog.youkuaiyun.com/vapingzi/article/details/73839962</link><guid>https://blog.youkuaiyun.com/vapingzi/article/details/73839962</guid><author>vapingzi</author><pubDate>Wed, 28 Jun 2017 14:17:15 +0800</pubDate><description><![CDATA[借用别人的一句话总结。 
Activity的启动流程，你不用关心在AMS里面这里跳到那里是干什么，还有ActivityStack以及它的那个SuperXX跳来跳去是在搞毛，你需要了解的是：在Context里面，通过AMS的Client ActivityManagerNative发起Binder调用进入system_server进程，在AMS里面绕了一圈（处理Activity栈以及生命周期相关），然后]]></description><category></category></item><item><title><![CDATA[Java中hashCode()和equal()方法的使用]]></title><link>https://blog.youkuaiyun.com/vapingzi/article/details/73839361</link><guid>https://blog.youkuaiyun.com/vapingzi/article/details/73839361</guid><author>vapingzi</author><pubDate>Wed, 28 Jun 2017 14:07:46 +0800</pubDate><description><![CDATA[使用hashCode()和equals() 
hashCode()方法被用来获取给定对象的唯一整数。这个整数被用来确定对象被存储在HashTable类似的结构中的位置。默认的，Object类的hashCode()方法返回这个对象存储的内存地址的编号。hash散列算法,使得在hash表中查找一个记录速度变O(1). 每个记录都有自己的hashcode,散列算法按照hashcode把记录放置在合适的位置]]></description><category></category></item><item><title><![CDATA[equal和“==”的区别]]></title><link>https://blog.youkuaiyun.com/vapingzi/article/details/73839312</link><guid>https://blog.youkuaiyun.com/vapingzi/article/details/73839312</guid><author>vapingzi</author><pubDate>Wed, 28 Jun 2017 14:06:53 +0800</pubDate><description><![CDATA[“==”对于基本数据类型，判断两个变量的值是否相等。 
“equal”不能用于基本数据类型。只能用于类变量。对于基本数据类型要用其包装类。因为对象变量的存储的是对象在内存中的路径，即内存地址。所以用“==”比较时，即使对象的值相等，但是他们的内存地址不同，所以==的结果为false。故“==”用于比较两个变量的值是否相等，而不是变量引用的对象是否相等 
equal用于比较两个对象是否相同。总之：“=]]></description><category></category></item><item><title><![CDATA[Colors颜色XML文件借鉴]]></title><link>https://blog.youkuaiyun.com/vapingzi/article/details/53129482</link><guid>https://blog.youkuaiyun.com/vapingzi/article/details/53129482</guid><author>vapingzi</author><pubDate>Fri, 11 Nov 2016 15:46:22 +0800</pubDate><description><![CDATA[#FFFFFF

    #FFFFF0

    #FFFFE0

    #FFFF00

    #FFFAFA

    #FFFAF0

    #FFFACD

    #FFF8DC

    #FFF5EE

    #FFF0F5

    #FFEFD5

    #FFEBCD

    #FFE4E1
    
    #717171

    #FFE4C4

    #]]></description><category></category></item><item><title><![CDATA[Android中adb端口被占用的有效解决方案]]></title><link>https://blog.youkuaiyun.com/vapingzi/article/details/52164176</link><guid>https://blog.youkuaiyun.com/vapingzi/article/details/52164176</guid><author>vapingzi</author><pubDate>Tue, 09 Aug 2016 16:52:59 +0800</pubDate><description><![CDATA[新增：

最近在使用中发现了新问题，AS先启动Genymotion后，再点击运行程序就会提示ADB被占用，用adb kill-server无法解决。而如果我先试着点击运行程序（不需要在模拟器中运行，只是点击运行），再打开Genymotion就不会有这种问题。

 

 

第一种方案：

Android开发经常遇到adb的端口127.0.0.1:5037，被其他程序占用的情况，老是启动不了模拟器。...]]></description><category></category></item><item><title><![CDATA[Android WebView属性及用法]]></title><link>https://blog.youkuaiyun.com/vapingzi/article/details/52163556</link><guid>https://blog.youkuaiyun.com/vapingzi/article/details/52163556</guid><author>vapingzi</author><pubDate>Tue, 09 Aug 2016 16:00:48 +0800</pubDate><description><![CDATA[实现WebView有以下两种不同的方法：
第一种方法的步骤：
1.在要Activity中实例化WebView组件：WebView webView = new WebView(this);
2.调用WebView的loadUrl()方法，设置WevView要显示的网页：

//访问网址：webView.loadUrl("http://www.***.com");
//访问本地文件：webV]]></description><category></category></item><item><title><![CDATA[Android 对话框(Dialog)大全 建立你自己的对话框]]></title><link>https://blog.youkuaiyun.com/vapingzi/article/details/52149331</link><guid>https://blog.youkuaiyun.com/vapingzi/article/details/52149331</guid><author>vapingzi</author><pubDate>Mon, 08 Aug 2016 10:03:59 +0800</pubDate><description><![CDATA[Activities提供了一种方便管理的创建、保存、回复的对话框机制，例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(int)等方法，如果使用这些方法的话，Activity将通过getOwnerActivity()方法返回该Activity管理的对话框(dialog).

]]></description><category></category></item></channel></rss>