<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[EdwardWayne的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/EdwardWayne</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; EdwardWayne]]></copyright><item><title><![CDATA[android序列化笔记]]></title><link>https://blog.youkuaiyun.com/EdwardWayne/article/details/51122228</link><guid>https://blog.youkuaiyun.com/EdwardWayne/article/details/51122228</guid><author>EdwardWayne</author><pubDate>Wed, 13 Apr 2016 10:57:52 +0800</pubDate><description><![CDATA[可以通过manifest中的process属性开启多线程。


process属性中以“：”开始的的进程属于私有进程，其他应用不可以与其跑在同一个进程，否则就是全局进程，可以与拥有相同shareUID和签名相同的应用处于同一进程，访问对方的私有数据。


android为每一个进程分配一个独立的虚拟机，不同虚拟机在内存分配上有不用的地址空间，所以不同进程间的数据通信不能用过内存在进行传]]></description><category></category></item><item><title><![CDATA[android 测试开发概述]]></title><link>https://blog.youkuaiyun.com/EdwardWayne/article/details/51124212</link><guid>https://blog.youkuaiyun.com/EdwardWayne/article/details/51124212</guid><author>EdwardWayne</author><pubDate>Tue, 12 Apr 2016 12:33:37 +0800</pubDate><description><![CDATA[android测试主要有两种
1.本地测试（local test）
只在计算机中运行，这些测试运行在本地JVM中以减少执行时间。这种测试适合不需要android framework或者可以用模拟出的依赖来代替的测试。


2.设备测试（instrumentation test）
运行在android设备或者模拟器上的测试。这些测试需要使用到设备信息，如app的context。这种测试适]]></description><category></category></item><item><title><![CDATA[webview 内存泄露解决办法]]></title><link>https://blog.youkuaiyun.com/EdwardWayne/article/details/50973216</link><guid>https://blog.youkuaiyun.com/EdwardWayne/article/details/50973216</guid><author>EdwardWayne</author><pubDate>Thu, 24 Mar 2016 17:39:05 +0800</pubDate><description><![CDATA[最近开始使用leakCanary为app进行内存泄露的检测


遇到了webview.mContext导致activity内存泄露
（不过在android 6.0的机子上没有遇到这样的问题）


经过搜索，在http://bugly.qq.com/bbs/forum.php?mod=viewthread&tid=516 里找到了原因


面对这样的问题，我们暂时可以通过在lay]]></description><category></category></item><item><title><![CDATA[将webview的内容转换成pdf输出]]></title><link>https://blog.youkuaiyun.com/EdwardWayne/article/details/50898874</link><guid>https://blog.youkuaiyun.com/EdwardWayne/article/details/50898874</guid><author>EdwardWayne</author><pubDate>Tue, 15 Mar 2016 18:58:03 +0800</pubDate><description><![CDATA[工作需求，将webview的内容导出到pdf输出


其中我们会用到itextpdf这个库，可以通过gradle添加
compile 'com.itextpdf:itextpdf:5.5.4'

首先，我们需要一个webview，加载完html并渲染成功之后我们就可以做以下的步骤。


1.生成webview的bitmap图


webview的pictureListene]]></description><category></category></item><item><title><![CDATA[用正确的姿势使用volley]]></title><link>https://blog.youkuaiyun.com/EdwardWayne/article/details/50767514</link><guid>https://blog.youkuaiyun.com/EdwardWayne/article/details/50767514</guid><author>EdwardWayne</author><pubDate>Mon, 29 Feb 2016 19:06:57 +0800</pubDate><description><![CDATA[今天使用leak canary进行内存泄露时发现activity发生了内存泄露


我之前使用volley的方法就是在activity onCreate的时候新建一个volley消息队列。


经过搜索发现，原来是在新建队列的时候会将activity context的引用穿进volley框架内部，导致activity在finish的时候无法被正常释放内存。


推荐的方法是使用单]]></description><category></category></item><item><title><![CDATA[使用 httpurlconnection 在android上post操作]]></title><link>https://blog.youkuaiyun.com/EdwardWayne/article/details/50544195</link><guid>https://blog.youkuaiyun.com/EdwardWayne/article/details/50544195</guid><author>EdwardWayne</author><pubDate>Tue, 19 Jan 2016 18:15:38 +0800</pubDate><description><![CDATA[由于httppost被遗弃了，将项目中的一些post操作改成了httpurlconnection


相比httppost，httpurlconnection麻烦的地方在于需要处理输入输出流和将参数转化成字符串


标准的写法应该是
                            try {
                                URL url = ]]></description><category></category></item><item><title><![CDATA[gridview控制显示行数]]></title><link>https://blog.youkuaiyun.com/EdwardWayne/article/details/50475050</link><guid>https://blog.youkuaiyun.com/EdwardWayne/article/details/50475050</guid><author>EdwardWayne</author><pubDate>Thu, 07 Jan 2016 11:42:34 +0800</pubDate><description><![CDATA[在这两天的开发中遇到了一个问题，就是在gridview加载时最后一行无法显示出来


这个问题好像是由于item的height没有设置好导致


所以我们最好在gridview的adapter中设置好view的高度


在stackoverflow上就有人用如下方法
                int screenHeight = ((Activity) CanvasNew]]></description><category></category></item><item><title><![CDATA[java复制那些事]]></title><link>https://blog.youkuaiyun.com/EdwardWayne/article/details/50354069</link><guid>https://blog.youkuaiyun.com/EdwardWayne/article/details/50354069</guid><author>EdwardWayne</author><pubDate>Fri, 18 Dec 2015 20:31:39 +0800</pubDate><description><![CDATA[在开发中，复制是我们经常遇到的。


今天用arraylist来对比一下java中collections的几种复制：


=clone()new arraylist(arraylist)Collections.copy

我们可以写一个这样的程序
public class COPY {
	static ArrayList arrayList1;
	static ArrayList]]></description><category></category></item><item><title><![CDATA[GSON使用实践]]></title><link>https://blog.youkuaiyun.com/EdwardWayne/article/details/50090301</link><guid>https://blog.youkuaiyun.com/EdwardWayne/article/details/50090301</guid><author>EdwardWayne</author><pubDate>Sun, 29 Nov 2015 00:21:55 +0800</pubDate><description><![CDATA[首先，我们以一个雅虎天气的json格式信息作为例子
        String url ="https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%20in%20(select%20woeid%20from%20geo.places(1)%20where%2]]></description><category></category></item><item><title><![CDATA[为android textview添加scrollbar]]></title><link>https://blog.youkuaiyun.com/EdwardWayne/article/details/49820547</link><guid>https://blog.youkuaiyun.com/EdwardWayne/article/details/49820547</guid><author>EdwardWayne</author><pubDate>Fri, 13 Nov 2015 17:17:25 +0800</pubDate><description><![CDATA[方法很简单：
在textview的属性中加上

android:maxLines = "AN_INTEGER"

android:scrollbars = "vertical"
分别是显示的最大行数和scrollbar的方向（垂直或者水平）



然后为textview加上

textview.setMovementMethod(new ScrollingMovementMet]]></description><category></category></item><item><title><![CDATA[android intent 选择文件]]></title><link>https://blog.youkuaiyun.com/EdwardWayne/article/details/49661335</link><guid>https://blog.youkuaiyun.com/EdwardWayne/article/details/49661335</guid><author>EdwardWayne</author><pubDate>Thu, 05 Nov 2015 13:07:06 +0800</pubDate><description><![CDATA[我们很多时候会遇到需要选择手机文件用来编辑、上传等功能


我们可以通过
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
                intent.setType("file/*");
                startActivityForResult(intent, code);
然后在OnAC]]></description><category></category></item><item><title><![CDATA[提高android应用ui运行效率]]></title><link>https://blog.youkuaiyun.com/EdwardWayne/article/details/47171655</link><guid>https://blog.youkuaiyun.com/EdwardWayne/article/details/47171655</guid><author>EdwardWayne</author><pubDate>Fri, 31 Jul 2015 16:23:14 +0800</pubDate><description><![CDATA[大家可以先参考一下这边文章，先发开文章里面提到的overdraw功能，这样你可以看到屏幕的overdraw情况
http://hukai.me/android-performance-render/


由于我们公司奇葩的设计（有一个接近全屏的drawerlayout！！！内容还和drawerlayout下的内容一样！！！只是排版不用！！！），我们的app一直都十分的卡！！！


打]]></description><category></category></item><item><title><![CDATA[怒刷leetcode题目（3）226,83,142,86]]></title><link>https://blog.youkuaiyun.com/EdwardWayne/article/details/47082813</link><guid>https://blog.youkuaiyun.com/EdwardWayne/article/details/47082813</guid><author>EdwardWayne</author><pubDate>Mon, 27 Jul 2015 12:02:13 +0800</pubDate><description><![CDATA[226

Invert Binary Tree

36.2%

Easy





Invert a binary tree.
     4
   /   \
  2     7
 / \   / \
1   3 6   9
to
     4
   /   \
  7     2
 / \   / \
9   6 3   1
对的，这就是前阵子homebrew大神]]></description><category></category></item><item><title><![CDATA[怒刷leetcode题目（2）235，191，141，217，]]></title><link>https://blog.youkuaiyun.com/EdwardWayne/article/details/46990161</link><guid>https://blog.youkuaiyun.com/EdwardWayne/article/details/46990161</guid><author>EdwardWayne</author><pubDate>Tue, 21 Jul 2015 18:30:53 +0800</pubDate><description><![CDATA[235

Lowest Common Ancestor of a Binary Search Tree

38.6%

Easy





Given a binary search tree (BST), find the lowest common ancestor (LCA) of two given nodes in the BST.

According to]]></description><category></category></item><item><title><![CDATA[怒刷leetcode的题目（1）237、104、136、100]]></title><link>https://blog.youkuaiyun.com/EdwardWayne/article/details/46971767</link><guid>https://blog.youkuaiyun.com/EdwardWayne/article/details/46971767</guid><author>EdwardWayne</author><pubDate>Mon, 20 Jul 2015 17:53:50 +0800</pubDate><description><![CDATA[https://leetcode.com/problemset/algorithms/上面的题目，每天做几道题目，大体从准确率高至低做下去
编程语言为c语言，因为跑的最快…







237

Delete Node in a Linked List

47.8%

Easy



Write a function to delete a node (ex]]></description><category></category></item><item><title><![CDATA[java listener 与 观察者模式入门]]></title><link>https://blog.youkuaiyun.com/EdwardWayne/article/details/46642571</link><guid>https://blog.youkuaiyun.com/EdwardWayne/article/details/46642571</guid><author>EdwardWayne</author><pubDate>Thu, 25 Jun 2015 23:05:09 +0800</pubDate><description><![CDATA[监听器在java中十分重要，在android开发中，每个组件都有各种各样的listener，像常见的onClickListener


结合看了几篇文章，自己试着写了一个listener的小测试


测试模拟有一个一对多的打电话对象，当对象打电话，对他监听的人都能收到他打电话的信息


首先是打电话和监听类的接口



interface iCall{
	void cal]]></description><category></category></item><item><title><![CDATA[android手写笔思路]]></title><link>https://blog.youkuaiyun.com/EdwardWayne/article/details/46523197</link><guid>https://blog.youkuaiyun.com/EdwardWayne/article/details/46523197</guid><author>EdwardWayne</author><pubDate>Tue, 16 Jun 2015 20:43:26 +0800</pubDate><description><![CDATA[工作需要，对这方面做了一些了解


一般的手写对android canvas有点理解的应该都知道，只需要单纯的使用drawPath就可以在view上画画。


而手写笔的关键则是要让path的strokeWidth发生变化


这个令人头大了， 毕竟setPaint只能够设置一个paint，一旦改变paint的参数，整个path都会发生改变。


所以，我们只能够另辟蹊径。]]></description><category></category></item><item><title><![CDATA[java synchronized的运用]]></title><link>https://blog.youkuaiyun.com/EdwardWayne/article/details/46285025</link><guid>https://blog.youkuaiyun.com/EdwardWayne/article/details/46285025</guid><author>EdwardWayne</author><pubDate>Sun, 31 May 2015 09:07:03 +0800</pubDate><description><![CDATA[这几天被线程弄晕了
特地恶补了一下java的线程知识


synchronized关键字是可以实现一个类对象同一时间只被一个线程调用，其他线程要调用这个对象只能等正在调用的线程结束或停止（一般会用在停止状态，如果是结束的话直接用join()方法会更方便）才能获得对象


synchronized使用方法一：锁定对象方法
动手写代码，写了一个模拟买票的场景：
先写一个Tickets]]></description><category></category></item><item><title><![CDATA[webview中的javascript调用android命令实现android latex显示]]></title><link>https://blog.youkuaiyun.com/EdwardWayne/article/details/46242415</link><guid>https://blog.youkuaiyun.com/EdwardWayne/article/details/46242415</guid><author>EdwardWayne</author><pubDate>Fri, 29 May 2015 23:03:45 +0800</pubDate><description><![CDATA[今天需要尝试在手机上显示latex的内容，不过android上没有latex的库（java是有的，不过我java不好，所以没用）
于是另辟蹊径，尝试用mathjax在webview上显示内容，在latex显示之后将webview转化成imageview来节省内存使用。


由于代码在办公室的电脑里…就没代码了，讲讲大概思路…


webview显示latex就很容易了，只要enabl]]></description><category></category></item><item><title><![CDATA[android fragment清晰启动写法以及在dialog中的应用]]></title><link>https://blog.youkuaiyun.com/EdwardWayne/article/details/45507595</link><guid>https://blog.youkuaiyun.com/EdwardWayne/article/details/45507595</guid><author>EdwardWayne</author><pubDate>Tue, 05 May 2015 20:31:17 +0800</pubDate><description><![CDATA[这几天需要将之前项目用到的一个fragment加入到dialog中
本来这种情况应该是用dialogFragment完成的，不过又不想以后有修改时又要同时改fragment和dialogfragment
于是就决定将原来的fragment塞进dialog中
在之前的尝试中，不知道我有没有写错，我发现fragment不能动态加入dialog的布局中，只能通过静态布局的方法写在dialog的布局]]></description><category></category></item></channel></rss>