<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[coder_nice的专栏]]></title><description><![CDATA[所有转载文章，只为自己收藏记录，方便查阅，如有侵权，即刻删除。]]></description><link>https://blog.youkuaiyun.com/coder_nice</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; coder_nice]]></copyright><item><title><![CDATA[发布aar到jcenter的正确姿势]]></title><link>https://blog.youkuaiyun.com/coder_nice/article/details/80047956</link><guid>https://blog.youkuaiyun.com/coder_nice/article/details/80047956</guid><author>coder_nice</author><pubDate>Mon, 23 Apr 2018 11:18:13 +0800</pubDate><description><![CDATA[转发地址：http://studyai.site/2016/12/03/%E5%8F%91%E5%B8%83aar%E5%88%B0jcenter%E7%9A%84%E6%AD%A3%E7%A1%AE%E5%A7%BF%E5%8A%BF/前段时间开发了一个android测试小插件ATestKit，准备发布到jcenter库中，可期间碰壁无数，折腾了两天最终终于上传成功。下面是我的最终整理：上传aa...]]></description><category></category></item><item><title><![CDATA[得到App Android组件化方案解析]]></title><link>https://blog.youkuaiyun.com/coder_nice/article/details/78892999</link><guid>https://blog.youkuaiyun.com/coder_nice/article/details/78892999</guid><author>coder_nice</author><pubDate>Sat, 06 Jan 2018 14:40:34 +0800</pubDate><description><![CDATA[为什么要写这篇文章

组件化已经深得客户端开发大神们的认可，组件化确实进一步优化了客户端团队的开发效率，更适合大团队分组推进，理解组件化的思想，深入研究组件化的实现方案是很必要的。

在接触众多组件化的方案后，自己也萌生了想搭建一套集众家之所长的组件化方案。

而从【得到】组件化方案入手，主要是【得到】组件化开源的demo比较完整，日期也比较新。

这篇文章的主要目的是想研究一下【得到】组件化比其]]></description><category></category></item><item><title><![CDATA[升级gradle版本之后小米手机调试安装失败]]></title><link>https://blog.youkuaiyun.com/coder_nice/article/details/60751936</link><guid>https://blog.youkuaiyun.com/coder_nice/article/details/60751936</guid><author>coder_nice</author><pubDate>Tue, 07 Mar 2017 10:04:18 +0800</pubDate><description><![CDATA[转载地址：https://zhuanlan.zhihu.com/p/25572184?utm_source=qq&utm_medium=social


昨天刚入手小米MIX，也恰好升级了AS2.3，在使用MIX调试运行的时候，却发现程序总是安装不上，报错信息是这样的：

点OK卸载之后却又提示卸载失败，然后调试安装就中断了，这就很尴尬，很明显关键字是

Failed to esta]]></description><category></category></item><item><title><![CDATA[ListView工作原理详细分析（一）]]></title><link>https://blog.youkuaiyun.com/coder_nice/article/details/54908216</link><guid>https://blog.youkuaiyun.com/coder_nice/article/details/54908216</guid><author>coder_nice</author><pubDate>Wed, 15 Feb 2017 12:00:01 +0800</pubDate><description><![CDATA[引言

ListView是Android系统中最常用也是最复杂的原生控件，了解ListView的工作原理非常必要。

ListView加载非常多数据的时候，上下滑动也不会造成oom等问题，随着手指的滑动，屏幕中会移除和新增View，无缝衔接这个过程，并且不会增加更多的内存消耗，复用是listview最核心的原理。

在研究ListView源码的时候，郭神的文章ListView工作原理给我很大的帮助]]></description><category></category></item><item><title><![CDATA[Android 7.0 安装失败的两个原因]]></title><link>https://blog.youkuaiyun.com/coder_nice/article/details/53745109</link><guid>https://blog.youkuaiyun.com/coder_nice/article/details/53745109</guid><author>coder_nice</author><pubDate>Mon, 19 Dec 2016 17:56:33 +0800</pubDate><description><![CDATA[提示安装失败，安装包不完整原因这是因为Android7.0作用域目录访问 
在 Android 7.0 中，应用可以使用新的 API 请求访问特定的外部存储目录，包括可移动媒体上的目录，如 SD 卡。新 API 大大简化了应用访问标准外部存储目录的方式，如 Pictures 目录。应用（如照片应用）可以使用这些 API（而不是使用 READ_EXTERNAL_STORAGE），其授予所有存储目录的访]]></description><category></category></item><item><title><![CDATA[Android fragment 重叠问题的解决方法]]></title><link>https://blog.youkuaiyun.com/coder_nice/article/details/53202144</link><guid>https://blog.youkuaiyun.com/coder_nice/article/details/53202144</guid><author>coder_nice</author><pubDate>Thu, 17 Nov 2016 16:33:18 +0800</pubDate><description><![CDATA[转载地址：http://blog.youkuaiyun.com/weizongwei5/article/details/44036543


由于这个项目的首页是类似微信的那种 tab 有四个界面 联系人，消息，动态，设置四个界面，因为有频繁的切换，所以就没有使用replace 和 remve方法。而是通过hide，show方式，这样虽然不会重复创建Fragment了，节省了view重绘的性能问题。
]]></description><category></category></item><item><title><![CDATA[Android WebView的Js对象注入漏洞解决方案（JSBridge存在的意义）]]></title><link>https://blog.youkuaiyun.com/coder_nice/article/details/53116446</link><guid>https://blog.youkuaiyun.com/coder_nice/article/details/53116446</guid><author>coder_nice</author><pubDate>Thu, 10 Nov 2016 15:46:57 +0800</pubDate><description><![CDATA[转载地址：http://blog.youkuaiyun.com/leehong2005/article/details/11808557



版权声明：本文为博主原创文章，未经博主允许不得转载。




目录(?)[+]




最近在做一个项目过程中，发现了一个很严重的安全漏洞，这个漏洞是乌云平台（http://www.wooyun.org）报告出来的。
1，使用场景
我们]]></description><category></category></item><item><title><![CDATA[八、十、十六进制转换（图解篇）]]></title><link>https://blog.youkuaiyun.com/coder_nice/article/details/53022619</link><guid>https://blog.youkuaiyun.com/coder_nice/article/details/53022619</guid><author>coder_nice</author><pubDate>Thu, 03 Nov 2016 16:19:08 +0800</pubDate><description><![CDATA[转载地址：http://www.cnblogs.com/gaizai/p/4233780.html




一.本文所涉及的内容（Contents）

本文所涉及的内容（Contents）背景（Contexts）进制转换算法（Convert）

（二、八、十六进制） → （十进制）

二进制 → 十进制八进制 → 十进制十六进制 → 十进制
（十进制） → （二、八、十六进]]></description><category></category></item><item><title><![CDATA[RxJava 入门]]></title><link>https://blog.youkuaiyun.com/coder_nice/article/details/52954848</link><guid>https://blog.youkuaiyun.com/coder_nice/article/details/52954848</guid><author>coder_nice</author><pubDate>Fri, 28 Oct 2016 11:40:08 +0800</pubDate><description><![CDATA[原文地址：RxJava 入门

翻译原文：Getting Started with RxJava and Android


什么是 ReactiveX？

ReactiveX 是一个专注于异步编程与控制可观察数据（或者事件）流的API。它组合了观察者模式，迭代器模式和函数式编程的优秀思想。

实时数据处理是一件普通的现象，有一个高效、干净和可扩展的方式来处理这些情景是重要的。使]]></description><category></category></item><item><title><![CDATA[Android JSBridge的原理与实现]]></title><link>https://blog.youkuaiyun.com/coder_nice/article/details/52954093</link><guid>https://blog.youkuaiyun.com/coder_nice/article/details/52954093</guid><author>coder_nice</author><pubDate>Fri, 28 Oct 2016 10:36:42 +0800</pubDate><description><![CDATA[转载：微信公众号 APP架构师


在Android中，JSBridge已经不是什么新鲜的事物了，各家的实现方式也略有差异。大多数人都知道WebView存在一个漏洞，见WebView中接口隐患与手机挂马利用，虽然该漏洞已经在Android 4.2上修复了，即使用@JavascriptInterface代替addJavascriptInterface，但是由于兼容性和安全性问题，基本上我们不会]]></description><category></category></item><item><title><![CDATA[HashMap详解]]></title><link>https://blog.youkuaiyun.com/coder_nice/article/details/52954041</link><guid>https://blog.youkuaiyun.com/coder_nice/article/details/52954041</guid><author>coder_nice</author><pubDate>Fri, 28 Oct 2016 10:31:56 +0800</pubDate><description><![CDATA[转载地址：http://www.cnblogs.com/chenssy/p/3521565.html







 HashMap也是我们使用非常多的Collection，它是基于哈希表的 Map 接口的实现，以key-value的形式存在。在HashMap中，key-value总是会当做一个整体来处理，系统会根据hash算法来来计算key-value的存储位置，我们总是可以通过]]></description><category></category></item><item><title><![CDATA[SparseArray替代HashMap来提高性能]]></title><link>https://blog.youkuaiyun.com/coder_nice/article/details/52947049</link><guid>https://blog.youkuaiyun.com/coder_nice/article/details/52947049</guid><author>coder_nice</author><pubDate>Thu, 27 Oct 2016 16:29:47 +0800</pubDate><description><![CDATA[SparseArray是 Android框架独有的类，在标准的JDK中不存在这个类。它要比 HashMap 节省内存，某些情况下比HashMap性能更好，按照官方问答的解释，主要是因为SparseArray不需要对key和value进行auto-
 boxing（将原始类型封装为对象类型，比如把int类型封装成Integer类型），结构比HashMap简单（SparseArray内部主要使用 两]]></description><category></category></item><item><title><![CDATA[React Native Android 初次试用遇到的各种坑]]></title><link>https://blog.youkuaiyun.com/coder_nice/article/details/52933187</link><guid>https://blog.youkuaiyun.com/coder_nice/article/details/52933187</guid><author>coder_nice</author><pubDate>Wed, 26 Oct 2016 12:48:29 +0800</pubDate><description><![CDATA[React Native 的趋势React Native 是近来最热门的技术热点之一，RN的推广势必带来一种新的开发思路，但目前来看RN并没有预想的发展那样快，还存在很多问题等待解决，作为Android开发人员了解一下RN还是很有必要的文档RN开发教程和文档还是很完善的，我是一般直接查看官方文档。 
RN官方文档关于部署环境的步骤就不多做解释了，按照文档一步步的走下来，就完全ok。RN初次使用的各种]]></description><category></category></item><item><title><![CDATA[WebView·开车指南]]></title><link>https://blog.youkuaiyun.com/coder_nice/article/details/52622348</link><guid>https://blog.youkuaiyun.com/coder_nice/article/details/52622348</guid><author>coder_nice</author><pubDate>Thu, 22 Sep 2016 14:01:37 +0800</pubDate><description><![CDATA[转载地址：https://zhuanlan.zhihu.com/p/22247021


WebView·开车指南

凌俊琦 · 20
 天前
Tips


由于WebView的用法实在太多，如果您只是想查询某个功能的使用——建议Ctrl+F（Commad+F）在本页面搜索关键字查找。


文章给前半部分大多是方法的介绍，若嫌琐碎可直接拖到最后看代码演示。

Than]]></description><category></category></item><item><title><![CDATA[Android Studio advanced configuration]]></title><link>https://blog.youkuaiyun.com/coder_nice/article/details/52595108</link><guid>https://blog.youkuaiyun.com/coder_nice/article/details/52595108</guid><author>coder_nice</author><pubDate>Tue, 20 Sep 2016 13:38:16 +0800</pubDate><description><![CDATA[转载地址： http://liukun.engineer/2016/04/10/Android-Studio-advanced-configuration/


本文主要内容来自 Dmytro Danylyk 在 Medium 的文章Configuring
 Android Studio。在此感谢！虽然使用Android Studio 有一定的时间了，但文中的某几个设置之前还真不知道，且原]]></description><category></category></item><item><title><![CDATA[彻底理解android中的内部存储与外部存储]]></title><link>https://blog.youkuaiyun.com/coder_nice/article/details/52151950</link><guid>https://blog.youkuaiyun.com/coder_nice/article/details/52151950</guid><author>coder_nice</author><pubDate>Mon, 08 Aug 2016 15:01:58 +0800</pubDate><description><![CDATA[我们先来考虑这样一个问题：

打开手机设置，选择应用管理，选择任意一个App，然后你会看到两个按钮，一个是清除缓存，另一个是清除数据，那么当我们点击清除缓存的时候清除的是哪里的数据？当我们点击清除数据的时候又是清除的哪里的数据？读完本文相信你会有答案。

在android开发中我们常常听到这样几个概念，内存，内部存储，外部存储，很多人常常将这三个东西搞混，那么我们今天就先来详细说说这三个东]]></description><category></category></item><item><title><![CDATA[LeakCanary——直白的展现Android中的内存泄露]]></title><link>https://blog.youkuaiyun.com/coder_nice/article/details/52086452</link><guid>https://blog.youkuaiyun.com/coder_nice/article/details/52086452</guid><author>coder_nice</author><pubDate>Mon, 01 Aug 2016 15:56:52 +0800</pubDate><description><![CDATA[之前碰到的OOM问题，终于很直白的呈现在我的眼前：我尝试了MAT，但是发现不怎么会用。直到今天终于发现了这个新工具：

当我们的App中存在内存泄露时会在通知栏弹出通知：



当点击该通知时，会跳转到具体的页面，展示出Leak的引用路径，如下图所示：



LeakCanary 可以用更加直白的方式将内存泄露展现在我们的面前。

以下是我找到的学习资料，写的非常棒： 
]]></description><category></category></item><item><title><![CDATA[[Android]Context泄露之谜:Handle & 内部类]]></title><link>https://blog.youkuaiyun.com/coder_nice/article/details/52084115</link><guid>https://blog.youkuaiyun.com/coder_nice/article/details/52084115</guid><author>coder_nice</author><pubDate>Mon, 01 Aug 2016 11:19:44 +0800</pubDate><description><![CDATA[先上译文路径。
考虑下面代码:
    public class SampleActivity extends Activity {
      private final Handler mLeakyHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
    ]]></description><category></category></item><item><title><![CDATA[[译]Android内存泄漏的八种可能]]></title><link>https://blog.youkuaiyun.com/coder_nice/article/details/52083950</link><guid>https://blog.youkuaiyun.com/coder_nice/article/details/52083950</guid><author>coder_nice</author><pubDate>Mon, 01 Aug 2016 11:05:16 +0800</pubDate><description><![CDATA[原文Eight Ways Your Android App Can Leak Memory
Java是垃圾回收语言的一种，其优点是开发者无需特意管理内存分配，降低了应用由于局部故障(segmentation fault)导致崩溃，同时防止未释放的内存把堆栈(heap)挤爆的可能，所以写出来的代码更为安全。
不幸的是，在Java中仍存在很多容易导致内存泄漏的逻辑可能(logical leak)。]]></description><category></category></item><item><title><![CDATA[Android 内存优化 查找问题所在]]></title><link>https://blog.youkuaiyun.com/coder_nice/article/details/52067351</link><guid>https://blog.youkuaiyun.com/coder_nice/article/details/52067351</guid><author>coder_nice</author><pubDate>Fri, 29 Jul 2016 17:48:06 +0800</pubDate><description><![CDATA[内存飙高，居高不下，oom，是Android程序员经常遇到的问题，想要解决内存问题需要先找到内存问题出在哪里。所以内存问题最难的在于找到哪里导致了内存出问题。观察Android studio图形化工具使用Android Device Monitor点击Android studio 功能栏图标，打开Android Device Monitor  
 
Android Device Monitor 方便]]></description><category></category></item></channel></rss>