<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Lemon_wzq的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Lemon_wzq</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Lemon_wzq]]></copyright><item><title><![CDATA[Android 内存优化(二)——内存优化策略]]></title><link>https://blog.youkuaiyun.com/Lemon_wzq/article/details/120177448</link><guid>https://blog.youkuaiyun.com/Lemon_wzq/article/details/120177448</guid><author>Lemon_wzq</author><pubDate>Wed, 08 Sep 2021 20:15:28 +0800</pubDate><description><![CDATA[提示：本篇博客是个人学习的总结，有什么问题请及时联系本人qq1521976977

文章目录前言一、内存优化策略二、具体优化的点1.避免内存泄漏2.Bitmap等大对象的优化策略3.原生API回调释放内存3.内存排查工具总结

前言
在开始之前需要先搞明白一个问题，为什么要做内存优化？或者说做内存优化的目的是什么？

提示：以下是本篇文章正文内容，下面案例可供参考
一、内存优化策略
内存优化一般从两个方向着手优化，一方面就是上篇博客写的防止内存泄漏，避免不必要的内存资源浪费；另一方面就是APP中大对象的优化]]></description><category></category></item><item><title><![CDATA[Android 内存优化(一)——常见内存泄露及优化方案]]></title><link>https://blog.youkuaiyun.com/Lemon_wzq/article/details/120161459</link><guid>https://blog.youkuaiyun.com/Lemon_wzq/article/details/120161459</guid><author>Lemon_wzq</author><pubDate>Wed, 08 Sep 2021 01:29:03 +0800</pubDate><description><![CDATA[Android 内存优化
提示：本篇博客是个人学习的总结，有什么问题请及时联系本人qq1521976977

目录Android 内存优化一、常见的内存泄露应用场景？总结


一、常见的内存泄露应用场景？
1、单例的不恰当使用
单例是我们开发中最常见和使用最频繁的设计模式之一，所以如果使用不当就会导致内存泄露。因为单例的静态特性使得它的生命周期同应用的生命周期一样长，如果一个对象已经没有用处了，但是单例还持有它的引用，那么在整个应用程序的生命周期这个对象都不能正常被回收，从而导致内存泄露。
如：
publi]]></description><category></category></item><item><title><![CDATA[每日一学——DataBinding的使用]]></title><link>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106660487</link><guid>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106660487</guid><author>Lemon_wzq</author><pubDate>Wed, 15 Jul 2020 17:06:07 +0800</pubDate><description><![CDATA[DataBinding的实际使用看看DataBinding的简介在对应model的build.gradle中配置使用场景1.最简单的实体类与TextView的绑定2. 引入类，引用定义的方法进行判断操作等3. 点击事件的使用5. 集合、Map在xml布局中的使用
看看DataBinding的简介
DataBinding 是 Google 在 Jetpack 中推出的一款数据绑定的支持库，利用该库可以实现在页面组件中直接绑定应用程序的数据源，实现数据与View的双向绑定。此外，除了将数据与 UI 绑定在一起，]]></description><category></category></item><item><title><![CDATA[每日一学——Android屏幕适配方案分析以及头条适配原理—基于头条适配方案的框架AndroidAutoSize （一）]]></title><link>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106634587</link><guid>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106634587</guid><author>Lemon_wzq</author><pubDate>Wed, 15 Jul 2020 16:52:54 +0800</pubDate><description><![CDATA[Android屏幕适配方案之头条适配—AutoSize介绍下目前主流的适配方案头条方案适配的原理适配具体操作呈现适配效果
荒废了几天继续我的每日一篇学习博客 go go go!
介绍下目前主流的适配方案
须知：
首先，我们应该明白没有完美的适配方案，因为安卓设备真的是五花八门，宽高比差距太大，在保证页面View不变形的情况下，只能取宽度为基准，自适应的设置高度，这样造成的页面整体高度会超出屏幕高度，解决的方法就只能是设置页面滚动，避免页面内容显示不全；其次要是以高度为基准，很大情况下view会变形，比如图片]]></description><category></category></item><item><title><![CDATA[每日一学 ——项目修改包名编译出现Cannot start process, the working directory ‘x:\‘xxxxx does not exist]]></title><link>https://blog.youkuaiyun.com/Lemon_wzq/article/details/107078111</link><guid>https://blog.youkuaiyun.com/Lemon_wzq/article/details/107078111</guid><author>Lemon_wzq</author><pubDate>Thu, 02 Jul 2020 10:00:58 +0800</pubDate><description><![CDATA[一般都是报名修改失败导致的，解决方法：
Run   -&gt;  Edit Configurations  -&gt; 添加Application -&gt;修改Configuration下Working directory



保存退出！ clean project一遍   完事  溜了！！！

]]></description><category></category></item><item><title><![CDATA[Android Studio logcat日志中文乱码——解决]]></title><link>https://blog.youkuaiyun.com/Lemon_wzq/article/details/107038831</link><guid>https://blog.youkuaiyun.com/Lemon_wzq/article/details/107038831</guid><author>Lemon_wzq</author><pubDate>Tue, 30 Jun 2020 11:29:44 +0800</pubDate><description><![CDATA[今天记录个小东西吧，最近没时间写博客，就简单记录下
升级Android studio4.0以后编译日志log中文都会出现乱码  不说其他原因看着就烦

改一下吧，找到AS的安装路径下/bin里面的

使用可可编辑软件打开修改如下

完事！走你溜了

...]]></description><category></category></item><item><title><![CDATA[每日一学——自定义View(源码解析)（三）]]></title><link>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106524637</link><guid>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106524637</guid><author>Lemon_wzq</author><pubDate>Wed, 03 Jun 2020 15:05:17 +0800</pubDate><description><![CDATA[近期比较忙，晚点时间整理  笔芯

]]></description><category></category></item><item><title><![CDATA[每日一学——自定义View(原理+具体实现代码)（二）]]></title><link>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106364813</link><guid>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106364813</guid><author>Lemon_wzq</author><pubDate>Thu, 28 May 2020 10:50:51 +0800</pubDate><description><![CDATA[xml：序列化，反射  setContenView
LayoutPrames是什么？解析后的布局参数
MearSureScap是什么？是View中的内部类，基本都是二进制。由于int是32位的，用高两位表示mode
低30位表示size,MODE_SHIFT=30的作用是移位
3种情况：
UNSPECIFIED:不对View大小做限制，系统使用
EXACTLY:切确的大小，如100dp
AT_MOST:大小不超过某个值，如不超过 父容器






...]]></description><category></category></item><item><title><![CDATA[每日一学——自定义View(源码及原理)（一）]]></title><link>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106350005</link><guid>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106350005</guid><author>Lemon_wzq</author><pubDate>Tue, 26 May 2020 14:49:29 +0800</pubDate><description><![CDATA[先了解自定义View
1. 自定义view的基本方法：

测量：onMeasure()函数决定View的大小，相关方法——measure(),setMeasuredDimension(),onMeasure()；
布局：onMeasure()函数决定View的大小，相关；
绘制：onDraw()函数决定绘制这个View。

2. View分类：

单一视图：一个view,不嵌套包含其他子view；
视图组：多个View组成的ViewGroup；

3. 自定义控件分类：


自定义View：只需要重写onM]]></description><category></category></item><item><title><![CDATA[每日一学——进程通信Binder篇(简单了解其原理)]]></title><link>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106116404</link><guid>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106116404</guid><author>Lemon_wzq</author><pubDate>Mon, 25 May 2020 17:27:51 +0800</pubDate><description><![CDATA[qqqqq

]]></description><category></category></item><item><title><![CDATA[每日一学——创建的Android项目、页面空白、闪退，不显示页面内容]]></title><link>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106262294</link><guid>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106262294</guid><author>Lemon_wzq</author><pubDate>Fri, 22 May 2020 14:06:25 +0800</pubDate><description><![CDATA[很小白的问题，但是还是记录一下吧。顺便分析一下：
大家都知道Activity的onCreate方法有两个重写，如下：
  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public void]]></description><category></category></item><item><title><![CDATA[每日一学——接口调试工具——Postman的使用]]></title><link>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106257071</link><guid>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106257071</guid><author>Lemon_wzq</author><pubDate>Thu, 21 May 2020 14:29:17 +0800</pubDate><description><![CDATA[本来想自己写一下简单的使用，发现好像自己用得很浅薄，顺便就直接又在网上学习了下大佬的详情教程。
自己就不班门弄斧了，记录下链接自己学习学习，也给各位伙伴提供个入口：
简书博客：https://www.jianshu.com/p/d3eaed7b876a
csdn博客：https://blog.youkuaiyun.com/fxbin123/article/details/80428216

...]]></description><category></category></item><item><title><![CDATA[每日一学——WireShark的入门使用，网络抓包工具——玩转网络通信的强大助力]]></title><link>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106248960</link><guid>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106248960</guid><author>Lemon_wzq</author><pubDate>Thu, 21 May 2020 13:58:50 +0800</pubDate><description><![CDATA[每日一篇学习博客——网络抓包工具WireShark的入门使用明确学习的目的下载安装工具具体教程具体分析单个数据包
本博客是看着B站学习视频整理的学习笔记，如有侵权，请联系我删除！
明确学习的目的

为后期学习计算机网络通信协议做准备；
后期工作中涉及到网络的问题你都可以使用它，接口抓包调试、网络传输安全测试；
跨平台性，降低学习成本；
也可作为其他抓包工具的后期分析软件。

下载安装工具
WireShark下载地址
因为WireShark的不提供抓包驱动需要，需要我们自己安装windows的驱动winpca]]></description><category></category></item><item><title><![CDATA[每日一学——Android项目APP冷启动（白屏）解决方案]]></title><link>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106236131</link><guid>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106236131</guid><author>Lemon_wzq</author><pubDate>Wed, 20 May 2020 18:07:56 +0800</pubDate><description><![CDATA[每日一篇学习博客——Android冷启动什么是冷启动什么是热启动冷启动的方式直接就造成的不好体验如下先分析下冷启动的产生原因先说说怎么处理白屏或者黑屏吧
什么是冷启动
简单来说就是APP的需要初始化启动,后台没有该应用的进程，直接点就是APP第一次打开、或者进程被杀死重新打开，这些启动都是需要重新创建Application实例——本人自己的理接（阔能很片面）
什么是热启动
当启动应用时，后台已有该应用的进程（例：按back键、home键，应用虽然会退出，但是该应用的进程是依然会保留在后台，可进入任务列表查看]]></description><category></category></item><item><title><![CDATA[Bmob后端云服务——图片、音频、文件加载不出来报code"40510004"]]></title><link>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106116556</link><guid>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106116556</guid><author>Lemon_wzq</author><pubDate>Thu, 14 May 2020 11:45:52 +0800</pubDate><description><![CDATA[之前有一个自己开发的小项目用到Bmob后端云，现在发现之前上传的文件资源现在加载不出来了。
报这个错误
{"code":"40510004","msg":"invisible domain"}

简单来说就是之前的不能用了，https://www.bmob.cn/site/news/98
官方提供的解决方法就是：
方案一：（100/年）我们提供了备案域名：在控制台-&gt;应用设置-&gt;应用配置-&gt;开启文件独立域名，开启后图片即可访问。
方案二：（免费）自有已经备案的域名，进入应用设置，域名管理，]]></description><category></category></item><item><title><![CDATA[Android安装包apk使用加密\加固工具后再签名打包(使用命令打包)]]></title><link>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106096655</link><guid>https://blog.youkuaiyun.com/Lemon_wzq/article/details/106096655</guid><author>Lemon_wzq</author><pubDate>Wed, 13 May 2020 15:08:59 +0800</pubDate><description><![CDATA[使用情景:
之前遇到过使用360加固/爱加密这类工具,之前的签名会没了,需要重新在加固apk的基础上使用签名再次打包
第一步
找到签名的路径(如果没有签名则需要新创建一个)附上一个创建签名的步骤吧:

进入APK/选择Create new~

...]]></description><category></category></item><item><title><![CDATA[Android拍照失败以及成功后拿不到照片（照片裁剪加载失败）原因之一]]></title><link>https://blog.youkuaiyun.com/Lemon_wzq/article/details/105789104</link><guid>https://blog.youkuaiyun.com/Lemon_wzq/article/details/105789104</guid><author>Lemon_wzq</author><pubDate>Mon, 27 Apr 2020 14:12:16 +0800</pubDate><description><![CDATA[拍照失败的原因有以下几种情况：
原因一：
没有获取相机权限，调起相机失败；
   if (ContextCompat.checkSelfPermission(baseActivity, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED){
            // 进入这儿表示没有权限
            if...]]></description><category></category></item><item><title><![CDATA[AndroidStudio导致C盘占用过高——瘦身(.android文件    .AndroidStudio3.5文件   .gradle文件)修改保存路径]]></title><link>https://blog.youkuaiyun.com/Lemon_wzq/article/details/105710303</link><guid>https://blog.youkuaiyun.com/Lemon_wzq/article/details/105710303</guid><author>Lemon_wzq</author><pubDate>Fri, 24 Apr 2020 14:31:27 +0800</pubDate><description><![CDATA[每次一看C盘满就贼烦，其他占用内存我不知道，但是如果你没特意设置过(或者升级以后没修改)Androidstudio(简称AS)的配置保存路径,那他应该占用不小的内存,设置过好多次了,但是每次升级就没注意,然后就又开始占用我的C盘内存了

步骤一:
打开C盘C:\Users\xxx(自己设置的名称)下目录结构:
.addroid文件夹是系统模拟器(as自带的内置系统模拟器(AVD),很鸡肋,反正我没...]]></description><category></category></item><item><title><![CDATA[从智行AndroidAPP了解、学习、深入看组件化架构实践]]></title><link>https://blog.youkuaiyun.com/Lemon_wzq/article/details/105723869</link><guid>https://blog.youkuaiyun.com/Lemon_wzq/article/details/105723869</guid><author>Lemon_wzq</author><pubDate>Fri, 24 Apr 2020 09:49:18 +0800</pubDate><description><![CDATA[转载(本博客仅作为学习使用，如有侵权请联系我（邮箱1521976977@qq.com），我会及时删除，非常抱歉):

https://mp.weixin.qq.com/s?__biz=MjM5MDI3MjA5MQ==&amp;mid=2697268363&amp;idx=1&amp;sn=3db2dce36a912936961c671dd1f71c78

作者简介
陈杰，智行火车票高级开发工程师，...]]></description><category></category></item><item><title><![CDATA[Android——接入支付宝支付（沙箱环境测试）]]></title><link>https://blog.youkuaiyun.com/Lemon_wzq/article/details/103895501</link><guid>https://blog.youkuaiyun.com/Lemon_wzq/article/details/103895501</guid><author>Lemon_wzq</author><pubDate>Fri, 10 Jan 2020 17:36:41 +0800</pubDate><description><![CDATA[毕业到现在做了好几个项目了，但是涉及到支付的项目

]]></description><category></category></item></channel></rss>