<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wikiday的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wikiday</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wikiday]]></copyright><item><title><![CDATA[Android 中 app调用微信开发平台api校验的推理]]></title><link>https://blog.youkuaiyun.com/wikiday/article/details/81333606</link><guid>https://blog.youkuaiyun.com/wikiday/article/details/81333606</guid><author>wikiday</author><pubDate>Wed, 01 Aug 2018 16:49:31 +0800</pubDate><description><![CDATA[(1)一般是app在微信服务器上面注册，用自己的包名+签名信息SignInfo(MD5或者SH1)注册然后微信服务器会生成一个key。

(2)app在调用微信开发平台接口时候，将自己的包名+key传递给微信，微信通过Android的 Fwk接口获取到app在本地的签名信息SignInfo。

(3)微信通过key和包名去微信服务器那边查询app注册的签名信息SignInfo，如果跟上一步骤本地获...]]></description><category></category></item><item><title><![CDATA[Android 混淆那些事儿]]></title><link>https://blog.youkuaiyun.com/wikiday/article/details/80540257</link><guid>https://blog.youkuaiyun.com/wikiday/article/details/80540257</guid><author>wikiday</author><pubDate>Fri, 01 Jun 2018 17:02:33 +0800</pubDate><description><![CDATA[本文转载自： 腾讯Bugly本文主要讲述了代码混淆和资源混淆的原理，Studio默认的混淆方案，混淆的参数，以及如何对Apk进行代码混淆(自定义混淆文件)和资源混淆(结合微信混淆和美团混淆两种方案)，避免Apk被逆向。为什么要混淆我们的apk在打包发布之前，都要进行混淆处理来避免源代码和资源文件被小白用户通过反编译拿到。未混淆代码的反编译操作非常简单，网上有很多教程, 也可以通过使用Android...]]></description><category></category></item><item><title><![CDATA[android中跨进程之间的异步回调]]></title><link>https://blog.youkuaiyun.com/wikiday/article/details/43459373</link><guid>https://blog.youkuaiyun.com/wikiday/article/details/43459373</guid><author>wikiday</author><pubDate>Tue, 03 Feb 2015 22:36:03 +0800</pubDate><description><![CDATA[在android中，我们会经常跨进程通信，若要返回结果，则使用aidl中的bindServcie()，但是在结果返回过程中，是异步的过程，即需要一个回调的Listener，将结果回调到发起者。
假如A进程和B进程通信，A执行bindServcie()操作来绑定B，绑定之后，获取B本地代理Bproxy，A调用Bproxy来寻求B中的操作，并且要求B将结果返回过来，这时候，就需要A这边注册一次Lis]]></description><category></category></item><item><title><![CDATA[android 中Service中的绑定失败策略以及Service自己Destory策略]]></title><link>https://blog.youkuaiyun.com/wikiday/article/details/43376723</link><guid>https://blog.youkuaiyun.com/wikiday/article/details/43376723</guid><author>wikiday</author><pubDate>Sun, 01 Feb 2015 22:39:01 +0800</pubDate><description><![CDATA[（一）Service绑定失败策略
          在Android中，当我们跨进程启动或者绑定一个Service，当时不能保证第一次就能成功，比如，远程的Service还没起启动成功，当没有绑定成功后，我们通过aidl来调用RemoteServcie就会出现Null错误，就ServiceConnection中的onServiceConnected()还未被回调，没有给本地远程服务代理赋值。]]></description><category></category></item><item><title><![CDATA[Android提供的异步类和接口]]></title><link>https://blog.youkuaiyun.com/wikiday/article/details/43242425</link><guid>https://blog.youkuaiyun.com/wikiday/article/details/43242425</guid><author>wikiday</author><pubDate>Wed, 28 Jan 2015 23:37:44 +0800</pubDate><description><![CDATA[在Android开发中，我们会经常遇到长时间操作，这些操作又要与UI进行交互，但是这些长时间操作又不能运行在UI线程中，否则会引起ANR问题。
我们可以通过Handler机制，自己写后台线程与UI线程进行交互。
但是Android系统中也提供了一些已经写好的类和接口，供我们直接使用。
其实这些写好的异步类的机制都是相同的，都是使用Handler机制，绑定一个内部线程，然后通过Message和]]></description><category></category></item><item><title><![CDATA[`Android跨进程机制的选择]]></title><link>https://blog.youkuaiyun.com/wikiday/article/details/43165319</link><guid>https://blog.youkuaiyun.com/wikiday/article/details/43165319</guid><author>wikiday</author><pubDate>Mon, 26 Jan 2015 22:50:16 +0800</pubDate><description><![CDATA[在android中，由多种跨进程实现机制，比如Activity通过startActivity(Intent)来启动一个新的Activity，两个Acivity运行在不同的进程中，第二种就是通过AIDL来实现跨进程的访问，该种方式是通过驱动底层的binder驱动来实现进程间的通信，速度快，比较稳定；第三种就是通过Broadcast广播机制，一个应用程序发送广播，接受者通过注册来接受该广播，该种情况是]]></description><category></category></item><item><title><![CDATA[git 提交代码的错误处理]]></title><link>https://blog.youkuaiyun.com/wikiday/article/details/43031401</link><guid>https://blog.youkuaiyun.com/wikiday/article/details/43031401</guid><author>wikiday</author><pubDate>Thu, 22 Jan 2015 23:11:11 +0800</pubDate><description><![CDATA[现在项目代码管理基本在git或者svn上面，各有优缺点，但是在linux环境中开发又以git 为主。
现在网络git教材很多，作为一名开发者，不用精通git全部原理和命令，基本掌握就可以了。


基本的提交命令，git add ， git commit ， git push 大家都会，但是当我们在git push以后，在Review后，遇到门禁或不能merger到代码库中，这种情景最让人头]]></description><category></category></item><item><title><![CDATA[android AOSP 源码下载指南]]></title><link>https://blog.youkuaiyun.com/wikiday/article/details/42404283</link><guid>https://blog.youkuaiyun.com/wikiday/article/details/42404283</guid><author>wikiday</author><pubDate>Sun, 04 Jan 2015 22:28:49 +0800</pubDate><description><![CDATA[首先下载两个工具：repo和git


安装JDK
$sudo apt-get install sun-java6-jdk


安装依赖包
由于不同的Ubuntu版本，内嵌的包不同，因此，不同的版本所需要的依赖包也不同，一下是Ubuntu12.4里面所需的包：
$sudo apt-get install git gnupg flex bison gperf build-essen]]></description><category></category></item><item><title><![CDATA[Android中JNI创建实例]]></title><link>https://blog.youkuaiyun.com/wikiday/article/details/42403953</link><guid>https://blog.youkuaiyun.com/wikiday/article/details/42403953</guid><author>wikiday</author><pubDate>Sun, 04 Jan 2015 22:18:46 +0800</pubDate><description><![CDATA[参考文档：
http://blog.sina.com.cn/s/blog_a11f64590101924l.html
http://www.cnblogs.com/hoys/archive/2010/10/28/1863612.html
http://www.cnblogs.com/bastard/archive/2012/05/19/2508913.html
http://blog.cs]]></description><category></category></item><item><title><![CDATA[Linux安装java步骤]]></title><link>https://blog.youkuaiyun.com/wikiday/article/details/42369319</link><guid>https://blog.youkuaiyun.com/wikiday/article/details/42369319</guid><author>wikiday</author><pubDate>Sat, 03 Jan 2015 21:19:16 +0800</pubDate><description><![CDATA[我们在Java开发或者Android开发，或者使用一些工具，这些工具依赖于Java，都需要安装Java,根据操作系统的不同，主要是Window和Linux，安装Java步骤也不同，Windows下面安装网络教程很多，这里就不需要介绍了，主要介绍Linux环境下的安装。


(1)jdk下载


登录Sun的JDK官方下载网址:http://java.sun.com/javase/dow]]></description><category></category></item><item><title><![CDATA[僵尸进程的分析]]></title><link>https://blog.youkuaiyun.com/wikiday/article/details/38358683</link><guid>https://blog.youkuaiyun.com/wikiday/article/details/38358683</guid><author>wikiday</author><pubDate>Sun, 03 Aug 2014 16:46:19 +0800</pubDate><description><![CDATA[僵尸进程产生
如何避免僵尸进程]]></description><category></category></item><item><title><![CDATA[android绘制过程]]></title><link>https://blog.youkuaiyun.com/wikiday/article/details/10128257</link><guid>https://blog.youkuaiyun.com/wikiday/article/details/10128257</guid><author>wikiday</author><pubDate>Tue, 20 Aug 2013 23:50:12 +0800</pubDate><description><![CDATA[原文链接： 
点击打开链接



首先，在activity 类中(activity.java)，我们可以看到两个变量，分别是：
        private Window mWindow;
        private WindowManager mWindowManager;
这两个变量在attach函数中进行赋值，
        mWindow = PolicyMana]]></description><category></category></item><item><title><![CDATA[Android内存泄漏就这样产生了]]></title><link>https://blog.youkuaiyun.com/wikiday/article/details/9457289</link><guid>https://blog.youkuaiyun.com/wikiday/article/details/9457289</guid><author>wikiday</author><pubDate>Wed, 24 Jul 2013 23:19:59 +0800</pubDate><description><![CDATA[原文链接：点击打开链接

1.资源对象没关闭造成的内存泄漏

描述：
资源性对象比如（Cursor，File文件等）往往都用了一些缓冲，我们在不使用的时候，应该及时关闭它们，以便它们的缓冲及时回收内存。它们的缓冲不仅存在于java虚拟机内，还存在于java虚拟机外。如果我们仅仅是把它的引用设置为null,而不关闭它们，往往会造成内存泄漏。因为有些资源性对象，比如SQLiteCursor（]]></description><category></category></item><item><title><![CDATA[手把手教你把Vim改装成一个IDE编程环境(图文)]]></title><link>https://blog.youkuaiyun.com/wikiday/article/details/9374783</link><guid>https://blog.youkuaiyun.com/wikiday/article/details/9374783</guid><author>wikiday</author><pubDate>Thu, 18 Jul 2013 23:42:25 +0800</pubDate><description><![CDATA[原文链接：


手把手教你把Vim改装成一个IDE编程环境(图文)]]></description><category></category></item><item><title><![CDATA[Android ANR]]></title><link>https://blog.youkuaiyun.com/wikiday/article/details/9374629</link><guid>https://blog.youkuaiyun.com/wikiday/article/details/9374629</guid><author>wikiday</author><pubDate>Thu, 18 Jul 2013 23:36:01 +0800</pubDate><description><![CDATA[原文链接：点击打开链接

Android ANR
1）什么引发了ANR？
在Android里，应用程序的响应性是由Activity Manager和WindowManager系统服务监视的。当它监测到以下情况中的一个时，Android就会针对特定的应用程序显示ANR：

在5秒内没有响应输入的事件（例如，按键按下，屏幕触摸）
BroadcastReceiver在10秒内没有执行完毕]]></description><category></category></item><item><title><![CDATA[Android编译相关知识]]></title><link>https://blog.youkuaiyun.com/wikiday/article/details/9337455</link><guid>https://blog.youkuaiyun.com/wikiday/article/details/9337455</guid><author>wikiday</author><pubDate>Mon, 15 Jul 2013 23:29:38 +0800</pubDate><description><![CDATA[本文将撰写一些与编译Android代码相关知识，后续会开辟单独分析一下Android整个编译系统。


Android局部编译framework:
 在根目录下面执行：make framework 

局部编译services
在根目录下面执行：make services


待遇..........]]></description><category></category></item><item><title><![CDATA[finally小特性]]></title><link>https://blog.youkuaiyun.com/wikiday/article/details/9337429</link><guid>https://blog.youkuaiyun.com/wikiday/article/details/9337429</guid><author>wikiday</author><pubDate>Mon, 15 Jul 2013 23:26:09 +0800</pubDate><description><![CDATA[原文链接：点击打开链接

        try/catch/finally语句下，finally子句是肯定会执行的。但是很多人做不同的测试，却得出了不同的结论。
具体的原理最好是去看《深入java虚拟机》，里面对jsr、ret等几个指令做了详细的说明。这里不深入分析，而仅仅是从表现形式上看一下finally的特征。
代码：
/*
 * author: Zang XT
 */

publ]]></description><category></category></item><item><title><![CDATA[关于java中的try-catch-finally语句和return]]></title><link>https://blog.youkuaiyun.com/wikiday/article/details/9337355</link><guid>https://blog.youkuaiyun.com/wikiday/article/details/9337355</guid><author>wikiday</author><pubDate>Mon, 15 Jul 2013 23:18:52 +0800</pubDate><description><![CDATA[原文链接：关于java中的try-catch-finally语句和return]]></description><category></category></item><item><title><![CDATA[java 内return语句总结]]></title><link>https://blog.youkuaiyun.com/wikiday/article/details/9336515</link><guid>https://blog.youkuaiyun.com/wikiday/article/details/9336515</guid><author>wikiday</author><pubDate>Mon, 15 Jul 2013 22:54:17 +0800</pubDate><description><![CDATA[return 在Java中作用
        根据《java编程思想：第四版》4.5节中介绍：return语句作为一个无条件的分支，无需判断条件即可发生。return语句主要有两个用途:一方面用来表示一个方法返回的值（假定没有void返回值），另一方面是指它导致该方法退出，并返回那个值。根据方法的定义，每一个方法都有返回类型，该类型可以是基本类型，也可以是对象类型，同时每个方法都必须有个结束标]]></description><category></category></item><item><title><![CDATA[(Android)API Guides/Accessing Resources]]></title><link>https://blog.youkuaiyun.com/wikiday/article/details/9275517</link><guid>https://blog.youkuaiyun.com/wikiday/article/details/9275517</guid><author>wikiday</author><pubDate>Mon, 08 Jul 2013 21:03:30 +0800</pubDate><description><![CDATA[原文链接：点击打
一旦你创建好了资源文件，即可通过资源ID来引用它们，所有这些IDs都在工程的R类，由aapt工具自动生成。
当你的应用编译时，aapt自动生成R类。它包含所有在res/目录里面的资源文件。每一种资源类型，都有一个R子类。每个该类型的资源都有一个静态整型。这个整型就是资源的ID。
尽管R类保存了所有资源文件的IDs，你也无须到里面查找。一个资源ID通常由以下组成：
  A.]]></description><category></category></item></channel></rss>