<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[acerhphp的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/acerhphp</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; acerhphp]]></copyright><item><title><![CDATA[Android studio 导入项目报错：Plugin with id ‘com.android.application‘ not found]]></title><link>https://blog.youkuaiyun.com/acerhphp/article/details/109806131</link><guid>https://blog.youkuaiyun.com/acerhphp/article/details/109806131</guid><author>acerhphp</author><pubDate>Thu, 19 Nov 2020 11:36:46 +0800</pubDate><description><![CDATA[今天导入朋友的 Demo 报错，Demo 是用 AS 4.X 版本，我本地是 3.X 版本， 项目结构有差异，大同小异，解决方法参考了这篇博客https://www.cnblogs.com/cuichen16/p/10785951.html

但是仅博客中的方法并没有完全解决此问题，步骤一、二参考 博客，依然报错，

1、找一个可以正常编译的项目或新建一个项目，把Project中的build.gradle中的代码复制一下，如下图；

2、粘贴到这个报错项目的build.gradle中，放在最下面即可，下面.]]></description><category></category></item><item><title><![CDATA[解决Glide 4.9 异常 java.lang.NoClassDefFoundError com.bumptech.glide.load.resource.gif.GifDrawable]]></title><link>https://blog.youkuaiyun.com/acerhphp/article/details/103440533</link><guid>https://blog.youkuaiyun.com/acerhphp/article/details/103440533</guid><author>acerhphp</author><pubDate>Sat, 07 Dec 2019 22:42:09 +0800</pubDate><description><![CDATA[java.lang.NoClassDefFoundError com.bumptech.glide.load.resource.gif.GifDrawable

。。。

这个问题正常一般不会遇到，除非项目中有 较低版本的support 库，看下 Glide 的环境要求

Android SDK Requirements

Minimum SDK Version- Glide requi...]]></description><category></category></item><item><title><![CDATA[解决android studio  Error:SSL peer shut down incorrectly JCenter下载慢或者下载失败问题]]></title><link>https://blog.youkuaiyun.com/acerhphp/article/details/102008109</link><guid>https://blog.youkuaiyun.com/acerhphp/article/details/102008109</guid><author>acerhphp</author><pubDate>Thu, 03 Oct 2019 18:24:43 +0800</pubDate><description><![CDATA[新导入一个项目，先是报这个错


Error:SSL peer shut down incorrectly


网上有人说是在gradlewrapper里将http改为https ，之后gradlewrapper可以下载了，但是项目中的依赖库，即kotlin版本等下载依然龟速，尝试了https://blog.youkuaiyun.com/ygc87/article/details/82857...]]></description><category></category></item><item><title><![CDATA[序列化无处不在 --------说说序列化和反序列化]]></title><link>https://blog.youkuaiyun.com/acerhphp/article/details/100119125</link><guid>https://blog.youkuaiyun.com/acerhphp/article/details/100119125</guid><author>acerhphp</author><pubDate>Wed, 28 Aug 2019 15:32:03 +0800</pubDate><description><![CDATA[基础知识也是需要复习下的， 虽然之前经常用，但是没有总结，今天稍作总结，权当复习巩固。

1、什么是序列化？


   百度百科说 序列化(Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间，对象将其当前状态写入到临时或持久性存储区。以后，可以通过从存储区中读取或反序列化对象的状态，重新创建该对象。


   简单的说就是将...]]></description><category></category></item><item><title><![CDATA[在 kotlin 和 Java 中为 json 字段解析设置别名]]></title><link>https://blog.youkuaiyun.com/acerhphp/article/details/100034959</link><guid>https://blog.youkuaiyun.com/acerhphp/article/details/100034959</guid><author>acerhphp</author><pubDate>Fri, 23 Aug 2019 16:52:08 +0800</pubDate><description><![CDATA[在 Java 中设置一个可以这样


 @SerializedName(value = "flag")
 public String result;

设置多个可以这样


@SerializedName(value = "flag",alternate = "code")
public String result;


@SerializedName(value = "flag",alterna...]]></description><category></category></item><item><title><![CDATA[Kotlin 中实现静态方法调用的 四种方式--按需选择]]></title><link>https://blog.youkuaiyun.com/acerhphp/article/details/96304759</link><guid>https://blog.youkuaiyun.com/acerhphp/article/details/96304759</guid><author>acerhphp</author><pubDate>Wed, 17 Jul 2019 14:25:38 +0800</pubDate><description><![CDATA[从 Java 学习 Kotlin 语音很容易上手，只要有了基本的编程思想，学起来还是很快的，关键在于多练习，多使用。

Kotlin 使用起来似乎比 Java 简单多了，从这个静态方法可见一斑。主要方法有包级函数、伴生对象、扩展函数、对象声明等，

这篇文章讲的很详细，https://www.jb51.net/article/115037.htm， 这里主要记录备忘及简单拓展

一、包级函数...]]></description><category></category></item><item><title><![CDATA[迁移 Androidx 成功后再次出现重复 support 库 处理方案]]></title><link>https://blog.youkuaiyun.com/acerhphp/article/details/96141124</link><guid>https://blog.youkuaiyun.com/acerhphp/article/details/96141124</guid><author>acerhphp</author><pubDate>Tue, 16 Jul 2019 15:45:02 +0800</pubDate><description><![CDATA[先贴个错误信息

Program type already present: android.support.v4.media.MediaBrowserCompat$It



Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug -

然后给你个链接让你参考官方处...]]></description><category></category></item><item><title><![CDATA[解决Android Studio 运行APP 提示卸载重新安装的错误]]></title><link>https://blog.youkuaiyun.com/acerhphp/article/details/79644522</link><guid>https://blog.youkuaiyun.com/acerhphp/article/details/79644522</guid><author>acerhphp</author><pubDate>Wed, 21 Mar 2018 19:42:21 +0800</pubDate><description><![CDATA[Installation failed with message null. It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and then re-installing.WARNING: Uninstalling will rem...]]></description><category></category></item><item><title><![CDATA[清晰的理解Service]]></title><link>https://blog.youkuaiyun.com/acerhphp/article/details/79546958</link><guid>https://blog.youkuaiyun.com/acerhphp/article/details/79546958</guid><author>acerhphp</author><pubDate>Tue, 13 Mar 2018 21:16:26 +0800</pubDate><description><![CDATA[1、Service 的start 和bind状态有什么区别？
a> 启动：start方法调用多次，只有第一次会调用onCreate，之后都只调用onStartCommand、onStart,
 bind 只有第一次调用会启动onCreate、onBind
b> 解绑：start 启动后调用stopService解绑，可以调用多次，bind启动后调用unbindService解绑，
只能调用]]></description><category></category></item><item><title><![CDATA[笔记本连接投影仪全屏调试]]></title><link>https://blog.youkuaiyun.com/acerhphp/article/details/79362706</link><guid>https://blog.youkuaiyun.com/acerhphp/article/details/79362706</guid><author>acerhphp</author><pubDate>Sat, 24 Feb 2018 16:13:38 +0800</pubDate><description><![CDATA[公司开会，需要用到投影仪，无奈产品不会调，身为IT工作人员怎么能容忍这种事情发生，遂先度娘后谷歌。

网上说将笔记本和投影仪的分辨率调到相同或者使用扩展模式，不知是型号不同还是什么原因，尝试后并不管用。经过一番尝试，最后在多显示器设置那里调整到仅在屏幕2显示（即投影仪），很清楚，但是并没有全屏，此时调整投影仪在桌子上的位置选到合适的地方就可以啦。

大致就是以下几步：



1、在]]></description><category></category></item><item><title><![CDATA[框架模式学习基础]]></title><link>https://blog.youkuaiyun.com/acerhphp/article/details/79353840</link><guid>https://blog.youkuaiyun.com/acerhphp/article/details/79353840</guid><author>acerhphp</author><pubDate>Fri, 23 Feb 2018 17:21:15 +0800</pubDate><description><![CDATA[   好的问题是学习的前提，首先明白以下几个问题：1、为什么会有模式和框架？两者有何区别？2、都有哪些模式和框架呢？  先来看第一个问题，为什么会有模式和框架？人和动物的区别是会不会制造和使用工具，注意，不光会使用，还要会制造（比如猿类也能使用工具但不会制造工具）。每天做重复的工作或者类似的工作，常常会熟能生巧，就是找到处理此类问题的较科学省力的方法，不会武功的人碰到打架只会乱打，而将打人的方法归...]]></description><category></category></item><item><title><![CDATA[教师健脑操 ----提振你的精神状态]]></title><link>https://blog.youkuaiyun.com/acerhphp/article/details/79348131</link><guid>https://blog.youkuaiyun.com/acerhphp/article/details/79348131</guid><author>acerhphp</author><pubDate>Thu, 22 Feb 2018 16:36:35 +0800</pubDate><description><![CDATA[最早的时候是在郑州公交上看到的，当时有真人示范，可惜网上没有找到真人示范的视频，不过跟着看文字也能有帮助，以前试着练习过，效果还挺好，最近和朋友聊天想起来，推荐给大家，同时自己也要坚持做~~第一节上下耸肩运动两足分开站立,约于肩宽,两肩尽量上提,使脑袋贴在两肩之间,稍停片刻,肩头突然下落.做八遍. 第二节背后举臂运动两臂交叉并伸直于后,随即用力上举,状似用肩胛骨上推头的根部,保持两三秒后,两臂猛地...]]></description><category></category></item><item><title><![CDATA[解决错误 Error type 3: Activity Class {…} does not exist]]></title><link>https://blog.youkuaiyun.com/acerhphp/article/details/79297057</link><guid>https://blog.youkuaiyun.com/acerhphp/article/details/79297057</guid><author>acerhphp</author><pubDate>Fri, 09 Feb 2018 12:02:57 +0800</pubDate><description><![CDATA[今日更改启动activity后出现如下错误，Error type 3: Activity Class {…} does not existStarting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.m.e/.Activity }
 Error type 3
 Err...]]></description><category></category></item><item><title><![CDATA[关于内存泄漏总结可能最全的文章]]></title><link>https://blog.youkuaiyun.com/acerhphp/article/details/77368057</link><guid>https://blog.youkuaiyun.com/acerhphp/article/details/77368057</guid><author>acerhphp</author><pubDate>Fri, 18 Aug 2017 11:52:01 +0800</pubDate><description><![CDATA[转自: QQ空间终端开发团队


前言


对于C++来说，内存泄漏就是new出来的对象没有delete，俗称野指针；对于Java来说，就是new出来的Object 放在Heap上无法被GC回收；本文通过QQ和Qzone中内存泄漏实例来讲android中内存泄漏分析解法和编写代码应注意的事项。

Java 中的内存分配





静态储存区：编译时就分配好，在程序整个运]]></description><category></category></item><item><title><![CDATA[java.lang.VerifyError  错误解决方法]]></title><link>https://blog.youkuaiyun.com/acerhphp/article/details/72783905</link><guid>https://blog.youkuaiyun.com/acerhphp/article/details/72783905</guid><author>acerhphp</author><pubDate>Sat, 27 May 2017 18:55:50 +0800</pubDate><description><![CDATA[一般地，java.lang.VerifyError 是说
 JVM 在加载一个类时，会去校验类的正确性，只有类文件不合法才会报这个Error。
这个错误是集成三方sdk的时候遇到的看到这个错误，真是蒙了，查阅文档后，各种说法都有，也算是增加了对这个异常的理解，参考过的文章见底部，虽然看了
很多，但并没有直接找到原因，各种尝试快两天，后来仔细看出问题的类，FileUploadUtil ，这个类]]></description><category></category></item><item><title><![CDATA[【转载】Android新特性介绍，ConstraintLayout完全解析]]></title><link>https://blog.youkuaiyun.com/acerhphp/article/details/68950770</link><guid>https://blog.youkuaiyun.com/acerhphp/article/details/68950770</guid><author>acerhphp</author><pubDate>Sun, 02 Apr 2017 09:34:58 +0800</pubDate><description><![CDATA[转载郭神的文章：http://blog.youkuaiyun.com/guolin_blog/article/details/53122387

本篇文章的主题是ConstraintLayout。其实ConstraintLayout是Android Studio 2.2中主要的新增功能之一，也是Google在去年的I/O大会上重点宣传的一个功能。我们都知道，在传统的Android开发当中，界面基本都是靠编]]></description><category></category></item><item><title><![CDATA[WebView 显示广告页面下载文件按钮无反应的解决方法]]></title><link>https://blog.youkuaiyun.com/acerhphp/article/details/66970319</link><guid>https://blog.youkuaiyun.com/acerhphp/article/details/66970319</guid><author>acerhphp</author><pubDate>Mon, 27 Mar 2017 12:18:43 +0800</pubDate><description><![CDATA[用WebView显示样式丰富的3G页面，不仅显示效果，实用性强，还能缩短宝贵的开放时间，但是今天发现广告页面有个下载按钮点击后并没有弹出下载提示框，
百度后有人说是“因为WebView默认没有开启文件下载的功能，需要setDownloadListener”，但是查看setDownloadListener源码注释，发现这个方法只是替换了
current handler，说明webView默认是有]]></description><category></category></item><item><title><![CDATA[非大牛必备神器，让你爱不释手欲罢不能的三方库-----LeakCanary]]></title><link>https://blog.youkuaiyun.com/acerhphp/article/details/64122980</link><guid>https://blog.youkuaiyun.com/acerhphp/article/details/64122980</guid><author>acerhphp</author><pubDate>Mon, 20 Mar 2017 10:59:44 +0800</pubDate><description><![CDATA[最近看到看到郭大神的微信文章和第二行代码，一则巩固基础，二则查漏补缺。最最最重要的当属看了一篇内存泄漏的文章，顿觉醍醐灌顶。最近使用LeakCanary，不用不知道，一用吓一跳，公司项目中momory leak 多如牛毛，渗出一身冷汗，难怪偶尔遭遇莫名OOM。废话不多说，直入正题，LeakCanary使用非常简单。
1. open github, 地址 https://github.com/sq]]></description><category></category></item><item><title><![CDATA[关于Android VideoView导致的内存泄漏的问题]]></title><link>https://blog.youkuaiyun.com/acerhphp/article/details/62889468</link><guid>https://blog.youkuaiyun.com/acerhphp/article/details/62889468</guid><author>acerhphp</author><pubDate>Fri, 17 Mar 2017 15:46:27 +0800</pubDate><description><![CDATA[今天用 leakcanary 时发现用VideoView的 activity 出现泄漏，捕获到如下的信息，简单说就是 android M（6.0）以前AudioManager用的Context是 当前传入的，当activity finish之后 AudioManager依然保持对它的引用，所以就leak了，6.0后改用ApplicationContext修复了此问题，google后发现下面这种解决]]></description><category></category></item><item><title><![CDATA[写博客最初的动力是吐槽小米]]></title><link>https://blog.youkuaiyun.com/acerhphp/article/details/50982667</link><guid>https://blog.youkuaiyun.com/acerhphp/article/details/50982667</guid><author>acerhphp</author><pubDate>Fri, 25 Mar 2016 17:29:47 +0800</pubDate><description><![CDATA[本来对小米印象平平,一直宣传发烧/性价比, 个人感觉初期的产品有种极强的塑料感,不是我的菜, 也无可厚非,每个人有自己的喜好(请米粉勿喷),无可否认,近年来小米很多地方都有较大的改善,但是小米的图标问题实在令人火大.
      作为开发人员,当一款app更新之后,app 的图标随之更新我想大部分人都应该觉得是理所当然的事情,当然华为/三星/oppo等等都支持,小米居然不支持,非要换主题才行. ]]></description><category></category></item></channel></rss>