<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wolinxuebin的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wolinxuebin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wolinxuebin]]></copyright><item><title><![CDATA[解决Android 8.0 adb pull 下载安装的apk 到 手机失败的问题]]></title><link>https://blog.youkuaiyun.com/wolinxuebin/article/details/87383207</link><guid>https://blog.youkuaiyun.com/wolinxuebin/article/details/87383207</guid><author>wolinxuebin</author><pubDate>Fri, 15 Feb 2019 19:54:26 +0800</pubDate><description><![CDATA[文章目录一、背景二、解决方案参考文献
一、背景
在已知应用包名(如，com.ss.android.ugc.aweme 抖音)的情况下，如果想从手机中下载该应用到本地，使用如下命令
adb shell pull /data/app/com.example.xxx-1/base.apk &amp;lt;your save path&amp;gt;

如此，我们就能成功将应用下载到本地。
但是 Android 8.0 ...]]></description><category></category></item><item><title><![CDATA[处理 Android 8.0 及以上手机  Not allowed to start service Intent app is in background 的问题]]></title><link>https://blog.youkuaiyun.com/wolinxuebin/article/details/87206390</link><guid>https://blog.youkuaiyun.com/wolinxuebin/article/details/87206390</guid><author>wolinxuebin</author><pubDate>Wed, 13 Feb 2019 20:45:41 +0800</pubDate><description><![CDATA[文章目录一、背景二、后台的定义三、后台限制服务四、如何避免引起上述 Not allowed to start service Intent app is in background五、变通？参考文献
一、背景
每次在后台运行时，应用都会消耗一部分有限的设备资源，例如 RAM。 这可能会影响用户体验，如果用户正在使用占用大量资源的应用（例如玩游戏或观看视频），影响尤为明显。
为了提升用户体验，And...]]></description><category></category></item><item><title><![CDATA[Mess——一个可混淆Activity的项目]]></title><link>https://blog.youkuaiyun.com/wolinxuebin/article/details/86631368</link><guid>https://blog.youkuaiyun.com/wolinxuebin/article/details/86631368</guid><author>wolinxuebin</author><pubDate>Thu, 24 Jan 2019 18:24:36 +0800</pubDate><description><![CDATA[目录一、Mess 介绍及引用二、Mess 使用注意点2.1 appt2问题2.2 gradle 版本问题2.3 Progurad 参数配置问题三、Mess 的重大问题四、建议
一、Mess 介绍及引用
工程地址为Mess git。
使用方式如下：
dependencies {
   ...
   // 引用该库
   classpath 'me.ele:mess-plugin:1.1.5'
 }
...]]></description><category></category></item><item><title><![CDATA[Android 使用View Gone 与 ViewStub的区别]]></title><link>https://blog.youkuaiyun.com/wolinxuebin/article/details/82726517</link><guid>https://blog.youkuaiyun.com/wolinxuebin/article/details/82726517</guid><author>wolinxuebin</author><pubDate>Sun, 16 Sep 2018 18:41:20 +0800</pubDate><description><![CDATA[Android 使用View Gone 与 ViewStub的区别

作者: 林子木 (wolinxuebin)

一、结论

为了部分同学迅速查找结果，所以把结论放在第一段。区别如下：


设置为GONE的View不会占用布局空间，但是会进行类的初始化；如ImageView 将src设置为一个BitmapDrawable，那么该图片将会加载到内中
ViewStub只有在代码中进行inflate之...]]></description><category></category></item><item><title><![CDATA[Android NDK Crash 日志抓取及定位]]></title><link>https://blog.youkuaiyun.com/wolinxuebin/article/details/80181672</link><guid>https://blog.youkuaiyun.com/wolinxuebin/article/details/80181672</guid><author>wolinxuebin</author><pubDate>Thu, 03 May 2018 16:08:48 +0800</pubDate><description><![CDATA[Android NDK Crash 日志抓取及定位

有人说，如何在Android Studio 可以配置日志模式，过滤NDK的crash，那么就让我们来简单看看下如何配置的。



一、Android Studio 配置 NDK Crash 过滤日志

第一步：点击下图框中部分： 


第二步：选择“Edit Filter Configuration”

第三步：编译如下图中的内容，其中“Fil...]]></description><category></category></item><item><title><![CDATA[Android 混合模式 —— PorterDuffXferMode]]></title><link>https://blog.youkuaiyun.com/wolinxuebin/article/details/79513353</link><guid>https://blog.youkuaiyun.com/wolinxuebin/article/details/79513353</guid><author>wolinxuebin</author><pubDate>Sun, 11 Mar 2018 01:02:44 +0800</pubDate><description><![CDATA[文章摘要

混合是模式是Android自定义View中的重要的一个环节，也是最难掌握的一个特性。本文将分以下三个内容来介绍：第一章简要介绍用处，第二章介绍简单的代码实现，第三章将详细介绍各个模式的作用，第四章将介绍使用过程中的一些注意点（坑点）。

第一章 例子

##
以前吃饭的时候，一个同事拿出了刚买的华为荣耀手机，指着上面的时钟说，彬帅，你看这动效不错吧。然后问我有什么思路，当时我看了一下，...]]></description><category></category></item><item><title><![CDATA[MAC 安装 opencv]]></title><link>https://blog.youkuaiyun.com/wolinxuebin/article/details/79240213</link><guid>https://blog.youkuaiyun.com/wolinxuebin/article/details/79240213</guid><author>wolinxuebin</author><pubDate>Fri, 02 Feb 2018 15:59:40 +0800</pubDate><description><![CDATA[一、主流的安装方式

Mac 上安装opencv主流的有3中方式。


pip install opencv-python
brew install opencv
编译源码的方式


第一种和第二种，试了很多次，都没有成功。 
pip 安装会报 Operation Not Permitted 的错误，找了很多方案，也没有解决。 
brew 方案会报 image not found 的错误。

最终]]></description><category></category></item><item><title><![CDATA[AndroidStudio 导入项目时，Building gradle project info 时间过长]]></title><link>https://blog.youkuaiyun.com/wolinxuebin/article/details/79089602</link><guid>https://blog.youkuaiyun.com/wolinxuebin/article/details/79089602</guid><author>wolinxuebin</author><pubDate>Wed, 17 Jan 2018 20:29:02 +0800</pubDate><description><![CDATA[AndroidStudio 导入项目时，Building gradle project info 时间过长



问题描述：

使用AndroidStudio的导出新项目的时候，会耗时特别久。



具体原因：

因为新导入的工程使用了Gradle版本，在本地没有下载过，需要去临时下载，但是网络速度很慢，所以造成过长的时间。



解法方式：

第一步 下载 
手动从去官网 https://ser]]></description><category></category></item><item><title><![CDATA[OpenGL 的 Java 的 Matrix定义问题]]></title><link>https://blog.youkuaiyun.com/wolinxuebin/article/details/78963627</link><guid>https://blog.youkuaiyun.com/wolinxuebin/article/details/78963627</guid><author>wolinxuebin</author><pubDate>Wed, 03 Jan 2018 17:32:48 +0800</pubDate><description><![CDATA[今天遇到遇到一个问题，做视变换和投影变换的矩阵相乘的时候，结果总是出现了问题。最后看到Matrix的定义才最终明白。定义如下：
/**
 * Matrix math utilities. These methods operate on OpenGL ES format
 * matrices and vectors stored in float arrays.
 * 
 * Matrices]]></description><category></category></item><item><title><![CDATA[OpenGL相关变换说明]]></title><link>https://blog.youkuaiyun.com/wolinxuebin/article/details/78709645</link><guid>https://blog.youkuaiyun.com/wolinxuebin/article/details/78709645</guid><author>wolinxuebin</author><pubDate>Mon, 04 Dec 2017 14:44:48 +0800</pubDate><description><![CDATA[OpenGL相关变换说明在分析OpenGL的相关变换前，让我们首先来看下一下这张图，有一个总的概念。 
 
图1. OpenGL相关变换一、模型变换 (model transformation)简单来说，我们需要将我们手上的数据模型（可能是一个三角形、也可能是一个篮球的），从原始的本地坐标系（Local Space）变换到OpenGL的世界坐标系（World Space）内的操作就叫做模型变换。就拿]]></description><category></category></item><item><title><![CDATA[Android 屏幕适配]]></title><link>https://blog.youkuaiyun.com/wolinxuebin/article/details/54288798</link><guid>https://blog.youkuaiyun.com/wolinxuebin/article/details/54288798</guid><author>wolinxuebin</author><pubDate>Mon, 09 Jan 2017 14:39:10 +0800</pubDate><description><![CDATA[这篇文章洋洋洒洒，讲了很多主要的内容如下：
第二章，介绍了dpi、px、dp以及ppi的概念。
第三章，主要介绍了Android的实际dpi（ppi）和我们平时接触的dpi的区别。
第四章，介绍了Android查找资源的原理。
第五章，重点介绍了dpi及像素这两个资源的优选过程。
第六章，讲解了讲解了几种适配方案，以及如快速适配。
第七章，讲解了几个比较实用的工具。

如果你只想知道如何做，就从第五章开始看。]]></description><category></category></item><item><title><![CDATA[ImageView (一) ——从源码的角度分析ScaleType (缩放模式)]]></title><link>https://blog.youkuaiyun.com/wolinxuebin/article/details/53148756</link><guid>https://blog.youkuaiyun.com/wolinxuebin/article/details/53148756</guid><author>wolinxuebin</author><pubDate>Sun, 13 Nov 2016 15:50:08 +0800</pubDate><description><![CDATA[第一章直接进行一个各个模式比较的表格。第二章将具体将每个例子进行编写demo并且截图处理。第三章将从源码的角度分析每种模式的原理。]]></description><category></category></item><item><title><![CDATA[理解Andriod 硬件加速]]></title><link>https://blog.youkuaiyun.com/wolinxuebin/article/details/53141941</link><guid>https://blog.youkuaiyun.com/wolinxuebin/article/details/53141941</guid><author>wolinxuebin</author><pubDate>Sat, 12 Nov 2016 17:53:37 +0800</pubDate><description><![CDATA[作者: 林子木

博客地址：http://blog.youkuaiyun.com/wolinxuebin 



文章总结：







什么是硬件加速：简单来说是一种采用GPU进行渲染，并且在计算需要重新绘制View上做了相应的优化。









相比原先的绘制模式，硬件加速具有什么优点：









原先绘制模式是在一个vi]]></description><category></category></item><item><title><![CDATA[Android事件处理（三）——View的onTouchEvent 函数源码详解]]></title><link>https://blog.youkuaiyun.com/wolinxuebin/article/details/53081165</link><guid>https://blog.youkuaiyun.com/wolinxuebin/article/details/53081165</guid><author>wolinxuebin</author><pubDate>Tue, 08 Nov 2016 14:09:22 +0800</pubDate><description><![CDATA[作者: 林子木
博客地址：http://blog.youkuaiyun.com/wolinxuebin



文章意图：

主要是想一自己阅读代码后的一些小收获分享给大家。让大家更加深入的了解Android的事件分发这块的内容。
文章主要内容：
本文将在第一章通过自己的语言，简单介绍view的onTouchEvent函数，并将其中的一些关键点直接提炼出来，方便那些不想阅读源代码的同学把握住其]]></description><category></category></item><item><title><![CDATA[Android事件处理（二）——View的dispatchTouchEvent 函数源码详解]]></title><link>https://blog.youkuaiyun.com/wolinxuebin/article/details/53081074</link><guid>https://blog.youkuaiyun.com/wolinxuebin/article/details/53081074</guid><author>wolinxuebin</author><pubDate>Tue, 08 Nov 2016 13:06:31 +0800</pubDate><description><![CDATA[相对ViewGroup的dispatchTouchEvent函数，View的dispatchTouchEvent简单很多，主要就两点：
1、将事件派发给我们使用setOnTouchListener设置的OnTouchListener的 onTouch 处理；
2、如果1没有处理该事件（也就是没有返回true）,那么就将事件派发给View本身的 onTouchEvent 函数处理；
简单的说，就是优先派发给我们设置的Listener，在给view自身的。]]></description><category></category></item><item><title><![CDATA[Android事件处理（一）——ViewGroup的dispatchTouchEvent 函数源码详解]]></title><link>https://blog.youkuaiyun.com/wolinxuebin/article/details/53057075</link><guid>https://blog.youkuaiyun.com/wolinxuebin/article/details/53057075</guid><author>wolinxuebin</author><pubDate>Sun, 06 Nov 2016 23:07:46 +0800</pubDate><description><![CDATA[本文将在第一章通过自己的语言，简单介绍dispatchTouchEvent，并将其中的一些关键点直接提炼出来，方便那些不想阅读源代码的同学把握住其中的关键点。
在第二章将放上源码，其中包含了我阅读过程中的26处注释。]]></description><category></category></item><item><title><![CDATA[Android 内存泄漏分析利器——leakcanary]]></title><link>https://blog.youkuaiyun.com/wolinxuebin/article/details/52766817</link><guid>https://blog.youkuaiyun.com/wolinxuebin/article/details/52766817</guid><author>wolinxuebin</author><pubDate>Sun, 09 Oct 2016 14:58:49 +0800</pubDate><description><![CDATA[介绍leakcanary的使用，优缺点以及应用过程中可能出现的问题。]]></description><category></category></item><item><title><![CDATA[Android的Canvas各函数全解析]]></title><link>https://blog.youkuaiyun.com/wolinxuebin/article/details/52614054</link><guid>https://blog.youkuaiyun.com/wolinxuebin/article/details/52614054</guid><author>wolinxuebin</author><pubDate>Wed, 21 Sep 2016 22:21:04 +0800</pubDate><description><![CDATA[1、save
2、saveLayer
3、restore
4、Canvas的矩阵变换
5、 clipPath详解
     5.1 DIFFERENCE
     5.2 REVERSE_DIFFERENCE
     5.3 INTERSECT
     5.4 UNION

     5.5 XOR
     5.6 REPLACE
6、 clip]]></description><category></category></item><item><title><![CDATA[Android适配——采用Values-dpi-wSize X hSize 模式，并分析原理]]></title><link>https://blog.youkuaiyun.com/wolinxuebin/article/details/51990654</link><guid>https://blog.youkuaiyun.com/wolinxuebin/article/details/51990654</guid><author>wolinxuebin</author><pubDate>Fri, 22 Jul 2016 01:45:08 +0800</pubDate><description><![CDATA[这篇文章主要讲两点：
一、xxxhdpi、560dpi、xxhdpi、xhdpi、hdpi、mdpi、ldpi (还有tvdpi 主要用于电视，不去讨论) 在某个dpi缺失的情况下，如果去找寻。
二、values-xxhdpi-1920X1080 这种以dpi加屏幕分辨率的适配方案是什么规律。


一、各种dpi之间的关系
【1】：由于网上以及存在一篇很好的文章，所以就不细讲了，这里给]]></description><category></category></item><item><title><![CDATA[Android Button 总是在最上层的问题]]></title><link>https://blog.youkuaiyun.com/wolinxuebin/article/details/51859435</link><guid>https://blog.youkuaiyun.com/wolinxuebin/article/details/51859435</guid><author>wolinxuebin</author><pubDate>Fri, 08 Jul 2016 11:28:24 +0800</pubDate><description><![CDATA[从5.0 开始，在同一个layout下，Button将总是位于最上层，就算你在Button上覆盖了相应的View。
解决方案：参考地址：http://stackoverflow.com/questions/29906679/android-studio-button-always-appears-at-the-front
上述参考地址中提到了两个方法，分别为下面的方法1、2。
方法1：
a]]></description><category></category></item></channel></rss>