<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dengpeng_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dengpeng_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dengpeng_]]></copyright><item><title><![CDATA[Android保活方案]]></title><link>https://blog.youkuaiyun.com/dengpeng_/article/details/120261113</link><guid>https://blog.youkuaiyun.com/dengpeng_/article/details/120261113</guid><author>dengpeng_</author><pubDate>Mon, 13 Sep 2021 10:02:37 +0800</pubDate><description><![CDATA[在开始前，还是给大家简单介绍一下，以前出现过的一些黑科技：

大概在6年前Github中出现过一个叫MarsDaemon，这个库通过双进程守护的方式实现保活，一时间风头无两。好景不长，进入 Android 8.0时代之后，这个库就废掉了。

最近2年Github上面出来一个Leoric 感兴趣的可以去看一下源码，谁敢用在生产环境呢，也就自己玩玩的才会用吧(不能因为保活而导致手机卡巴斯基)，我没有试过这个，我想说的是：黑科技能黑的了一时，能黑的了一世吗？

没有规矩，不成方圆，要提升产品的存活率，最终还是要落]]></description><category></category></item><item><title><![CDATA[Bitmap 优化策略]]></title><link>https://blog.youkuaiyun.com/dengpeng_/article/details/118178596</link><guid>https://blog.youkuaiyun.com/dengpeng_/article/details/118178596</guid><author>dengpeng_</author><pubDate>Thu, 24 Jun 2021 10:12:04 +0800</pubDate><description><![CDATA[如今市场上有很多封装好的第三方库，对Bitmap内存也是做到了很好的优化，比如Glide、Fresco，每次加载只要直接调用就好，但是除掉第三方库外，我们还是需要去了解一下Bitmap的基本优化手段。

一、Bitmap内存进程

首先我们有必要去了解一下Bitmap的基本知识点，在Android3.0之前，Bitmap的对象是放在Java堆中，而Bitmap的像素是放置在Native内存中，这个时候需要手动的去调用recycle，才能去回收Native内存；

在Android3.0到Android7.0]]></description><category></category></item><item><title><![CDATA[Android安全知识]]></title><link>https://blog.youkuaiyun.com/dengpeng_/article/details/103487487</link><guid>https://blog.youkuaiyun.com/dengpeng_/article/details/103487487</guid><author>dengpeng_</author><pubDate>Wed, 11 Dec 2019 10:14:33 +0800</pubDate><description><![CDATA[反编译

反编译代码


	dex2jar 这个工具用于将dex文件转换成jar文件
	
	
	jd-gui 这个工具用于将jar文件转换成java代码 ，使用jd-gui工具打开classes-dex2jar.jar这个文件就能查看Java代码
	
反编译资源


	apktool 这个工具用于最大幅度地还原APK文件中的9-patch图片、布局、字符串等等一系列的资源。
	
没有反编译资源之前...]]></description><category></category></item><item><title><![CDATA[Android：梳理自定义View工作流程]]></title><link>https://blog.youkuaiyun.com/dengpeng_/article/details/94636056</link><guid>https://blog.youkuaiyun.com/dengpeng_/article/details/94636056</guid><author>dengpeng_</author><pubDate>Thu, 04 Jul 2019 17:34:30 +0800</pubDate><description><![CDATA[目录



1. 储备知识

1.1 ViewRoot


	定义
	连接器，对应于ViewRootImpl类
	
	
	作用

	连接WindowManager 和 DecorView
		完成View的三大流程： measure、layout、draw
	
	
	特别注意
	

// 在主线程中，Activity对象被创建后：
// 1. 自动将DecorView添加到Window中 &amp...]]></description><category></category></item><item><title><![CDATA[android常用开源库]]></title><link>https://blog.youkuaiyun.com/dengpeng_/article/details/88417241</link><guid>https://blog.youkuaiyun.com/dengpeng_/article/details/88417241</guid><author>dengpeng_</author><pubDate>Tue, 12 Mar 2019 11:23:50 +0800</pubDate><description><![CDATA[目录

前言

一 、基本控件

二、功能相关

三、网络相关

四、自定义View

五、其他

前言

收集了一些比较常见的开源库，特此记录（已收录310+）。另外，本文将持续更新，大家有关于Android 优秀的开源,也可以在下面留言。

一 、基本控件

TextView

HTextView 一款支持TextView文字动画效果的Android组件库。
	ScrollNumber 滚动数...]]></description><category></category></item><item><title><![CDATA[Fragment重影（重叠）白屏解决方案]]></title><link>https://blog.youkuaiyun.com/dengpeng_/article/details/85756888</link><guid>https://blog.youkuaiyun.com/dengpeng_/article/details/85756888</guid><author>dengpeng_</author><pubDate>Fri, 04 Jan 2019 09:32:19 +0800</pubDate><description><![CDATA[前言


绝大部分的app首页架构均为Tab + Fragment,当程序发生异常自动恢复，或者app长时间处于后台恢复后，Fragment出现重影(重叠)等问题。当然部分不顾及页面层级的小伙伴，每个Fragment的view都设置了背景，可能就察觉不出来，但是并不代表没有。然后很多Fragment里面又还有Fragment的使用不当甚至会出现白屏的现象。


1 重影（重叠）

1.1 触发原因...]]></description><category></category></item><item><title><![CDATA[Android BLE 蓝牙开发]]></title><link>https://blog.youkuaiyun.com/dengpeng_/article/details/84964653</link><guid>https://blog.youkuaiyun.com/dengpeng_/article/details/84964653</guid><author>dengpeng_</author><pubDate>Wed, 12 Dec 2018 09:28:08 +0800</pubDate><description><![CDATA[前言：

随着物联网时代的到来，越来越多的智能硬件设备开始流行起来，比如智能手环、心率检测仪、以及各式各样的智能家具和玩具类产品。安卓4.3(API 18)为BLE的核心功能提供平台支持和API，App可以利用它来发现设备、查询服务和读写特性。相比传统的蓝牙，BLE更显著的特点是低功耗。本文主要讲解Android低功耗蓝牙的api使用以及蓝牙扫描、连接、发送数据、接收数据等一系列操作，并主要介绍本...]]></description><category></category></item><item><title><![CDATA[Android 数据交换解析框架Gson使用详解]]></title><link>https://blog.youkuaiyun.com/dengpeng_/article/details/80562864</link><guid>https://blog.youkuaiyun.com/dengpeng_/article/details/80562864</guid><author>dengpeng_</author><pubDate>Mon, 04 Jun 2018 10:55:23 +0800</pubDate><description><![CDATA[Json 是一种文本形式的数据交换格式，比 xml 更为轻量。Json 的解析和生成的方式很多，在 Android 平台上最常用的类库有 Gson 和 FastJson 两种，这里要介绍的是 Gson。Gson主页：https://github.com/google/gson一、Gson的基本用法1.1、Gson对象在进行序列化与反序列操作前，需要先实例化一个 com .google.gson.G...]]></description><category></category></item><item><title><![CDATA[如何使用Data Binding（进阶篇）]]></title><link>https://blog.youkuaiyun.com/dengpeng_/article/details/80446850</link><guid>https://blog.youkuaiyun.com/dengpeng_/article/details/80446850</guid><author>dengpeng_</author><pubDate>Fri, 25 May 2018 09:43:33 +0800</pubDate><description><![CDATA[一、notifyPropertyChanged方式更新指定数据首先，来简单介绍下Observable：Observable 基于观察者模式更新；它的出现，便是为了解决当我们的实体发生改变时，UI即时刷新。先来一个小例子：假设我们现在有一个User对象，当修改其中一个属性，使其引用的部分更新为修改后的值。那么针对这个需求，我们使用Observable即可分分钟搞定。这里，大家可以简单理解为，这个就是...]]></description><category></category></item><item><title><![CDATA[如何使用Data Binding（基础篇）]]></title><link>https://blog.youkuaiyun.com/dengpeng_/article/details/80446723</link><guid>https://blog.youkuaiyun.com/dengpeng_/article/details/80446723</guid><author>dengpeng_</author><pubDate>Fri, 25 May 2018 09:28:29 +0800</pubDate><description><![CDATA[Data Binding简介Data Binding，出来也有几年了，随着Beta版本到Release版本，直到现在，Data Binding确实为我们带来了很多让人眼前一亮的东西。首先来说，Data Binding是个什么？鉴名其意，数据绑定，是谷歌对MVVM（Model-View-ViewModel）在我们Android上贴心的实现~~~优势效率（性能）高。无侵入式，无反射；节省大量代码，提高...]]></description><category></category></item><item><title><![CDATA[Android 弧形ViewPager 和弧形HeaderView]]></title><link>https://blog.youkuaiyun.com/dengpeng_/article/details/80116806</link><guid>https://blog.youkuaiyun.com/dengpeng_/article/details/80116806</guid><author>dengpeng_</author><pubDate>Sat, 28 Apr 2018 10:01:03 +0800</pubDate><description><![CDATA[先来看效果：虽然效果还不错，但是有瑕疵，有两个明显的缺陷：底部的圆弧不是正圆弧：如上图所示，弧形有点歪，特别是在小屏幕手机上表现尤为明显，因为是用二阶贝塞尔曲线绘制的圆弧，不管怎么调整控制点，都不会是一个正圆弧，如下图：  圆弧不能设置图片背景：前面的这个版本，弧形背景只能设置颜色，不能设置背景图1. 升级版ArcView实现思路既然有了上面说的2个缺点，我们就要想办法解决它，2个问题我们逐个分析...]]></description><category></category></item><item><title><![CDATA[Android-指纹解锁]]></title><link>https://blog.youkuaiyun.com/dengpeng_/article/details/79860855</link><guid>https://blog.youkuaiyun.com/dengpeng_/article/details/79860855</guid><author>dengpeng_</author><pubDate>Mon, 09 Apr 2018 09:00:24 +0800</pubDate><description><![CDATA[什么是指纹解锁技术指纹解锁技术原理理解指纹解锁技术的优势和缺点在Android中的应用开发什么是指纹解锁技术根据人的指纹来验证是否能够解锁的技术，类似于通过输入密码来解锁，都是通过一定的数字特征来解锁。指纹解锁技术原理理解首先说明每个人的每个指纹信息都是独一无二的，皮肤纹路在图案，断点，交叉点上各不相同，通过光学感应读出指纹的图片信息也是独一无二的。先保存一个人的指纹特征（图片信息根据算法生成的数...]]></description><category></category></item><item><title><![CDATA[adb常用命令行]]></title><link>https://blog.youkuaiyun.com/dengpeng_/article/details/79693117</link><guid>https://blog.youkuaiyun.com/dengpeng_/article/details/79693117</guid><author>dengpeng_</author><pubDate>Mon, 26 Mar 2018 08:49:28 +0800</pubDate><description><![CDATA[前言ADB是android debug bridge的缩写，负责计算机与Android设备的几乎所有通信和协作，可以认为是连接两者的桥梁。ADB源码点击直达源码:http://androidxref.com/8.0.0_r4/xref/system/core/adb/                          ADB命令分类ADB Debuggingadb devicesadb forwa...]]></description><category></category></item><item><title><![CDATA[Android 多进程通信]]></title><link>https://blog.youkuaiyun.com/dengpeng_/article/details/79514172</link><guid>https://blog.youkuaiyun.com/dengpeng_/article/details/79514172</guid><author>dengpeng_</author><pubDate>Sun, 11 Mar 2018 10:29:43 +0800</pubDate><description><![CDATA[一、Android 中的多进程1、定义首先，进程一般指一个执行单元，在移动设备上就是一个程序或应用，我们在Android中所说的多进程（IPC）一般指一个应用包含多个进程。之所以要使用多进程有两方面原因：某些模块由于特殊的需求要运行在单独的进程；增加应用可用的内存空间。2、开启多进程Android中开启多线程只有一种方法，就是在AndroidManifest.xml中注册Service、Activ...]]></description><category></category></item><item><title><![CDATA[android通用Intent]]></title><link>https://blog.youkuaiyun.com/dengpeng_/article/details/79238362</link><guid>https://blog.youkuaiyun.com/dengpeng_/article/details/79238362</guid><author>dengpeng_</author><pubDate>Fri, 02 Feb 2018 15:14:31 +0800</pubDate><description><![CDATA[本文将讲解一下隐式Intent:


1. 创建闹钟


使用ACTION_SET_ALARM操作，还可以带一些extra指定时间和消息等闹铃详细信息。

extra：

 EXTRA_HOUR 闹铃的小时 EXTRA_MINUTES 闹铃的分钟EXTRA_MESSAGE 用于标识闹铃的自定义消息EXTRA_DAYS 对于一次性闹钟，无需指定此extraEXTRA_RINGTO]]></description><category></category></item><item><title><![CDATA[android之用4行代码快速实现文件下载]]></title><link>https://blog.youkuaiyun.com/dengpeng_/article/details/79159205</link><guid>https://blog.youkuaiyun.com/dengpeng_/article/details/79159205</guid><author>dengpeng_</author><pubDate>Thu, 25 Jan 2018 11:15:39 +0800</pubDate><description><![CDATA[简单使用




完成一个下载任务只需要4行代码，什么断点续传，大文件下载，通知栏进度显示….都不需要你操心。





//创建下载任务,downloadUrl就是下载链接

DownloadManager.Request request = new DownloadManager.Request(Uri.parse(downloadUrl));

//指定下载路径]]></description><category></category></item><item><title><![CDATA[android用注解代替枚举]]></title><link>https://blog.youkuaiyun.com/dengpeng_/article/details/78849810</link><guid>https://blog.youkuaiyun.com/dengpeng_/article/details/78849810</guid><author>dengpeng_</author><pubDate>Wed, 20 Dec 2017 09:52:23 +0800</pubDate><description><![CDATA[前言：使用Support Annotations注解优化代码本片文章讲解怎么使用Support Annotations注解优化代码，比如使用 android特有的魔术变量注解替代Enum 等功能。不要看见使用注解就想到反射会影响性能之类，今天我们就来学习一下Android Support Annotations注解来优化我们的代码，增加可读性的同时，也让让更多的错误消灭在萌芽之中。Support ]]></description><category></category></item><item><title><![CDATA[runOnUiThread 、Handler.post、View.post之间的区别]]></title><link>https://blog.youkuaiyun.com/dengpeng_/article/details/78804404</link><guid>https://blog.youkuaiyun.com/dengpeng_/article/details/78804404</guid><author>dengpeng_</author><pubDate>Thu, 14 Dec 2017 17:06:22 +0800</pubDate><description><![CDATA[先看一下个实例程序：



想得到答案，就得知道 runOnUiThread 、Handler.post、View.post 三者的区别。
从难易程度来讲，我们先说下 runOnUiThread 和 Handler.post 的区别，先看看 runOnUiThread 的源码：

如果当前不是 UI 线程，那么由主线程的 Handler 扔个消息给 MessageQueue；如果当前]]></description><category></category></item><item><title><![CDATA[android保持屏幕常亮]]></title><link>https://blog.youkuaiyun.com/dengpeng_/article/details/78683396</link><guid>https://blog.youkuaiyun.com/dengpeng_/article/details/78683396</guid><author>dengpeng_</author><pubDate>Fri, 01 Dec 2017 09:43:51 +0800</pubDate><description><![CDATA[日常开发过程中，我们总有时候需要屏幕能够长亮，比如：股票类的app，在查看股票报价页面的时候们往往需要开启盯盘模式，这个时候屏幕是不能黑屏的。关于屏幕长亮功能，找到一个完美的没有兼容性的实现方案：


网上有一种解决方案是使用PowerManager来实现屏幕不锁屏：
    /**
     * 打开休眠锁只能保持手机不休眠
     * @param context
     */
 ]]></description><category></category></item><item><title><![CDATA[android——高效调用系统图库]]></title><link>https://blog.youkuaiyun.com/dengpeng_/article/details/78617499</link><guid>https://blog.youkuaiyun.com/dengpeng_/article/details/78617499</guid><author>dengpeng_</author><pubDate>Thu, 23 Nov 2017 18:01:35 +0800</pubDate><description><![CDATA[移动App开发中，常常有本地图片浏览和选择的需求。如果浏览选择使用系统自带的浏览选择组件，那是比较方便的，下面的方法就可以了：
（在某Activity内）
Intent intent = new Intent();
intent.setAction(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(in]]></description><category></category></item></channel></rss>