<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Java_Grass的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Java_Grass</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Java_Grass]]></copyright><item><title><![CDATA[关于BlockCanary的源码分析]]></title><link>https://blog.youkuaiyun.com/Java_Grass/article/details/78866443</link><guid>https://blog.youkuaiyun.com/Java_Grass/article/details/78866443</guid><author>Java_Grass</author><pubDate>Thu, 21 Dec 2017 18:14:26 +0800</pubDate><description><![CDATA[关于BlockCanary的源码分析，BlockCanary是阿里一位程序员开发的检测应用耗时情况的框架，具体使用方法自行查看，非常方便，可以重写设定阈值的方法，来找出应用中比较耗时的代码。]]></description><category></category></item><item><title><![CDATA[写一个APP控制第三方播放器播放，以及获取正在播放的歌曲信息]]></title><link>https://blog.youkuaiyun.com/Java_Grass/article/details/78668301</link><guid>https://blog.youkuaiyun.com/Java_Grass/article/details/78668301</guid><author>Java_Grass</author><pubDate>Thu, 30 Nov 2017 09:51:31 +0800</pubDate><description><![CDATA[最近遇到这么一个需求，就是在自己的应用中控制第三方播放器播放，以及获取正在播放的歌曲信息，包括名字，歌手，专辑，显示出来。一开始觉得很简单，但实际上遇到了不少的麻烦，最终实现了两种方案，读者可根据自己需要选择。]]></description><category></category></item><item><title><![CDATA[关于Android的BroadcastReceiver的onReceive方法中回调结果给Activity的问题]]></title><link>https://blog.youkuaiyun.com/Java_Grass/article/details/78641937</link><guid>https://blog.youkuaiyun.com/Java_Grass/article/details/78641937</guid><author>Java_Grass</author><pubDate>Mon, 27 Nov 2017 09:53:29 +0800</pubDate><description><![CDATA[目前这么一个需求，需要写一个广播去接收其他APP发出的广播，广播不止接收一次，每次接收都会去更新Activity中的内容。本可以直接把广播接收写在Activity中，但我想单独出来写，但这样子的话无法获取到Activity中的布局元素，也就无法更新内容，本来想用全局变量，但问题不是传递变量那么简单，还要考虑每次接收到要更新的问题，所以还是必须在onReceive中处理。最后的做法是写一个callB]]></description><category></category></item><item><title><![CDATA[AsyncTask的使用及参数、方法的介绍]]></title><link>https://blog.youkuaiyun.com/Java_Grass/article/details/77187594</link><guid>https://blog.youkuaiyun.com/Java_Grass/article/details/77187594</guid><author>Java_Grass</author><pubDate>Tue, 15 Aug 2017 13:00:28 +0800</pubDate><description><![CDATA[在安卓开发的时候，为了避免OOM问题或者提高程序运行速度，一般不会在主线程中做耗时的操作。因此当有需要做耗时操作的时候，都会开启一个子线程，通过handler来获取数据后更新UI，而Android给我们提供了一个类AsyncTask，可以看做是 thread+handler的结合。
AsyncTask，是android提供的轻量级的异步类，可以直接继承AsyncTask，在类中实现异步操作，并提]]></description><category></category></item><item><title><![CDATA[关于AS用点9图时遇到的错误的解决方法Error:Execution failed for task ':app:mergeDebugResources']]></title><link>https://blog.youkuaiyun.com/Java_Grass/article/details/69054475</link><guid>https://blog.youkuaiyun.com/Java_Grass/article/details/69054475</guid><author>Java_Grass</author><pubDate>Tue, 04 Apr 2017 00:22:59 +0800</pubDate><description><![CDATA[今天在做一个布局文件，需要用到点9图，编译时遇到了图下的问题，百度了答案，解决方法无非两个，但都讲得不太好，所以在这里直接总结。



    首先这个问题的出现，主要有几个原因①直接在AS中将jpg图片改成png为后缀的图片；②点9图不规范，AS中点9图必须四边全部描黑点，而这在eclipse中不需要。
    解决方法有两个：
①在build.gradle里添加以下两句：aaptO]]></description><category></category></item><item><title><![CDATA[关于打开APP进入欢迎界面后，自动跳到主页面的解决方法]]></title><link>https://blog.youkuaiyun.com/Java_Grass/article/details/69027134</link><guid>https://blog.youkuaiyun.com/Java_Grass/article/details/69027134</guid><author>Java_Grass</author><pubDate>Mon, 03 Apr 2017 20:48:07 +0800</pubDate><description><![CDATA[这个问题很简单，但是之前没有去查找教程，导致自己做了之后一堆莫名其妙的BUG，一开始是直接在欢迎界面定义了一个BUTTON，然后点击该BUTTON跳转到主界面，但显然这不是我想过要的效果，后面就想到用Handler来实现，然后在OnCreate方法里开一个线程来启动主界面，具体代码如下：加粗的为该方法的核心代码，其他的只是动画效果。package com.example.grass.intent;]]></description><category></category></item><item><title><![CDATA[Android的Dalvik虚拟机与Java的JVM虚拟机之间的差异]]></title><link>https://blog.youkuaiyun.com/Java_Grass/article/details/67105791</link><guid>https://blog.youkuaiyun.com/Java_Grass/article/details/67105791</guid><author>Java_Grass</author><pubDate>Tue, 28 Mar 2017 00:15:24 +0800</pubDate><description><![CDATA[①Dalvik 基于寄存器，而 JVM 基于栈。基于寄存器的虚拟机对于更大的程序来说，在它们编译的时候，花费的时间更短。
②Dalvik负责进程隔离和线程管理，每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例，其代码在虚拟机的解释下得以执行。
③Dalvik虚拟机运行的是其专有的文件格式Dex，dex文件格式可以减少整体文件尺寸，提高I/o操作的类查找速度。而Java虚拟]]></description><category></category></item><item><title><![CDATA[安卓开发中的OOM问题]]></title><link>https://blog.youkuaiyun.com/Java_Grass/article/details/64218160</link><guid>https://blog.youkuaiyun.com/Java_Grass/article/details/64218160</guid><author>Java_Grass</author><pubDate>Mon, 20 Mar 2017 23:37:45 +0800</pubDate><description><![CDATA[OOM - Out of Memory，即为内存溢出；一般是由于程序编写者对内存使用不当，如对该释放的内存资源没有释放，导致其一直不能被再次使用而使计算机内存被耗尽的现象。重启计算机即可，但根本解决办法还是对代码进行优化。
OOM问题通常出现在用到很多图片或者图片很大的APP开发中（很遗憾笔者目前还没遇到过……因为开发的APP测试数据就几十组，图片也就几十张）。按常理来说，手机系统一般都有足够的]]></description><category></category></item><item><title><![CDATA[EJB概念理解]]></title><link>https://blog.youkuaiyun.com/Java_Grass/article/details/63308770</link><guid>https://blog.youkuaiyun.com/Java_Grass/article/details/63308770</guid><author>Java_Grass</author><pubDate>Sat, 18 Mar 2017 22:21:20 +0800</pubDate><description><![CDATA[先来看一下EJB（Enterprise JavaBean）的定义：EJB是sun的JavaEE服务器端组件模型，设计目标与核心应用是部署分布式应用程序。简单来说就是把已经编写好的程序（即：类）打包放在服务器上执行。凭借java跨平台的优势，用EJB技术部署的分布式系统可以不限于特定的平台。EJB
 (Enterprise JavaBean)是J2EE(javaEE)的一部分，定义了一个用于开发基]]></description><category></category></item><item><title><![CDATA[简介三种垃圾回收机制：分代复制垃圾回收，标记垃圾回收，增量垃圾回收]]></title><link>https://blog.youkuaiyun.com/Java_Grass/article/details/62886965</link><guid>https://blog.youkuaiyun.com/Java_Grass/article/details/62886965</guid><author>Java_Grass</author><pubDate>Fri, 17 Mar 2017 13:52:13 +0800</pubDate><description><![CDATA[一、分代复制垃圾回收
不同的对象的生命周期是不一样的。因此，不同生命周期的对象可以采取不同的收集方式，以便提高回收效率。 在Java程序运行的过程中，会产生大量的对象，其中有些对象是与业务信息相关，比如Http请求中的 

Session对象、线程、Socket连接，这类对象跟业务直接挂钩，因此生命周期比较长。但是还有一些对象，主要 
是程序运行过程中生成的临时变量，这些对象生命周期会比较]]></description><category></category></item><item><title><![CDATA[关于finally和finalize的使用]]></title><link>https://blog.youkuaiyun.com/Java_Grass/article/details/62420657</link><guid>https://blog.youkuaiyun.com/Java_Grass/article/details/62420657</guid><author>Java_Grass</author><pubDate>Thu, 16 Mar 2017 12:28:03 +0800</pubDate><description><![CDATA[一、finally的使用
finally关键字是对 Java 异常处理模型的最佳补充。finally 结构使代码总会执行，而不管有无异常发生。使用 finally 可以维护对象的内部状态，并可以清理非内存资源。这里举个例子说明不使用finally时如何释放非内存资源import java.net.*; 
import java.io.*;

     class WithoutFinally]]></description><category></category></item><item><title><![CDATA[第一次写博客，谈谈对HashMap和Hashtable的区别理解]]></title><link>https://blog.youkuaiyun.com/Java_Grass/article/details/62416514</link><guid>https://blog.youkuaiyun.com/Java_Grass/article/details/62416514</guid><author>Java_Grass</author><pubDate>Thu, 16 Mar 2017 09:07:10 +0800</pubDate><description><![CDATA[今天看到JAVA基础中有关于HashMap和Hashtable的区别，字面上比较笼统，因此决定具体进行了解。


Hashtable已经是个过时的集合类，在Java 4中被重写了，实现了Map接口，所以自此以后也成了Java集合框架中的一部分。所以HashMap相对于Hashtable有它自己的优点，HashMap：基于哈希表的
 Map 接口的实现，二者其实可以说是几乎等价的。
二者的]]></description><category></category></item></channel></rss>