<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[forLove]]></title><description><![CDATA[你后面的纠结来自于你先前的妥协。你现在正在完成的，不是你一辈子不可能完成之重，其实是你必须承受之轻。什么东西都在放弃，以后你的人生就会给你一个反弹。不想承受攀登的痛苦，就要忍受心灵的屈辱。]]></description><link>https://blog.youkuaiyun.com/stimgo</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; stimgo]]></copyright><item><title><![CDATA[bugly热更新9.0失败率及loader classes are found in old secondary dex问题]]></title><link>https://blog.youkuaiyun.com/stimgo/article/details/102678795</link><guid>https://blog.youkuaiyun.com/stimgo/article/details/102678795</guid><author>stimgo</author><pubDate>Tue, 22 Oct 2019 11:17:32 +0800</pubDate><description><![CDATA[1.确保使用最新版本bugly、tinker


参考https://bugly.qq.com/v2/downloads 去配置最新版本号，注意对应关系


如下：

升级 SDK 包 1.4.2       2019-09-24
修复app下载后无法跳转进app安装界面
集成crash sdk 3.1.0
对应tinker lib 1.9.14,tinker-support版本1.2.0



...]]></description><category></category></item><item><title><![CDATA[WindowManager addView 添加报错 异常关于type类型设置]]></title><link>https://blog.youkuaiyun.com/stimgo/article/details/100703213</link><guid>https://blog.youkuaiyun.com/stimgo/article/details/100703213</guid><author>stimgo</author><pubDate>Tue, 10 Sep 2019 16:28:46 +0800</pubDate><description><![CDATA[高版本的系统中设置悬浮窗时候
layoutparams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ERROR

会报错：
android.view.WindowManager$BadTokenException: Unable to add window android.view.ViewRootImpl$W@d4c6880 -- permissi...]]></description><category></category></item><item><title><![CDATA[MMKV替代sp，封装的工具类(kotlin)]]></title><link>https://blog.youkuaiyun.com/stimgo/article/details/90295832</link><guid>https://blog.youkuaiyun.com/stimgo/article/details/90295832</guid><author>stimgo</author><pubDate>Fri, 17 May 2019 16:31:36 +0800</pubDate><description><![CDATA[使用MMKV替代SharedPreferences，

好处：MMKV是微信应用程序中使用的一种高效、小巧、易用的移动键值存储框架。目前在iOS、macOS、Android和Windows上都可以使用。

一、在app的build.gradle中引入
    implementation 'com.tencent:mmkv:1.0.19'

二、在application里初始化
        M...]]></description><category></category></item><item><title><![CDATA[图片加载引擎框架封装]]></title><link>https://blog.youkuaiyun.com/stimgo/article/details/90269043</link><guid>https://blog.youkuaiyun.com/stimgo/article/details/90269043</guid><author>stimgo</author><pubDate>Thu, 16 May 2019 18:05:57 +0800</pubDate><description><![CDATA[一、新建接口编写加载方式
public interface IImageLoader {
    void load(@NonNull ImageView imageView, @NonNull Object imageUrl);
    void load(@NonNull ImageView imageView, @NonNull Object imageUrl,int width, int ...]]></description><category></category></item><item><title><![CDATA[Android 全局弹出对话框]]></title><link>https://blog.youkuaiyun.com/stimgo/article/details/90258632</link><guid>https://blog.youkuaiyun.com/stimgo/article/details/90258632</guid><author>stimgo</author><pubDate>Thu, 16 May 2019 10:44:30 +0800</pubDate><description><![CDATA[方案一 ：使用系统弹窗权限
1.1 .先加权限
&lt;uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /&gt;

1.2 创建alertDialog时候设置类型为
        alertDialog.getWindow().setType(WindowManager.LayoutParams.TYP...]]></description><category></category></item><item><title><![CDATA[androidstudio修改包名]]></title><link>https://blog.youkuaiyun.com/stimgo/article/details/90202107</link><guid>https://blog.youkuaiyun.com/stimgo/article/details/90202107</guid><author>stimgo</author><pubDate>Tue, 14 May 2019 10:58:33 +0800</pubDate><description><![CDATA[AndroidMainfest文件中包名

进入 Androidmanifest.xml 文件，找到 package 名称，选中需要修改的部分。
比如原包名为 package=“com.github.tianmu.diskcacheutil”, 如果需要修改中间的 tianmu ，那么我们就选中 tianmu文字 ,
依次进行 右键 - &gt; Refactor -&gt; Rename
然后选...]]></description><category></category></item><item><title><![CDATA[Android软键盘(输入法)隐藏问题]]></title><link>https://blog.youkuaiyun.com/stimgo/article/details/90054655</link><guid>https://blog.youkuaiyun.com/stimgo/article/details/90054655</guid><author>stimgo</author><pubDate>Fri, 10 May 2019 11:21:46 +0800</pubDate><description><![CDATA[有时候，需要强制隐藏Android输入法键盘，如当前键盘正在显示，这个时候点击了侧滑面板，就要强制隐藏输入法键盘。网上常见的方法有：
1、
	InputMethodManager imm = (InputMethodManager) getActivity()
.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(...]]></description><category></category></item><item><title><![CDATA[androidStudio去除无用、多余、未引用、未关联的资源的方式]]></title><link>https://blog.youkuaiyun.com/stimgo/article/details/89923966</link><guid>https://blog.youkuaiyun.com/stimgo/article/details/89923966</guid><author>stimgo</author><pubDate>Tue, 07 May 2019 16:34:08 +0800</pubDate><description><![CDATA[我们知道，当版本经过多次迭代，项目中多多少少会存在一些无用的资源，不仅会造成我们打包的APK体积过大，还会造成项目资源的冗余，

下面说说如何找到清除这些无用资源。
1. 打包时去除无用的资源
buildTypes {
        debug {
            versionNameSuffix "_debug" //versionName的后缀
            minify...]]></description><category></category></item><item><title><![CDATA[lint检查会报警告信息：(onTouchListener warning: onTouch should call View#performClick when a click is detecte]]></title><link>https://blog.youkuaiyun.com/stimgo/article/details/89922162</link><guid>https://blog.youkuaiyun.com/stimgo/article/details/89922162</guid><author>stimgo</author><pubDate>Tue, 07 May 2019 15:33:01 +0800</pubDate><description><![CDATA[lint检查会报警告信息：(onTouchListener warning: onTouch should call View#performClick when a click is detected)–&gt;onTouch在不执行touch时候应该断掉view的touch事件
错误使用：
findViewById(R.id.fl_container).setOnTouchListener(n...]]></description><category></category></item><item><title><![CDATA[Activity中添加多个Fragment切换，透明状态栏后顶部进入状态栏问题]]></title><link>https://blog.youkuaiyun.com/stimgo/article/details/89395594</link><guid>https://blog.youkuaiyun.com/stimgo/article/details/89395594</guid><author>stimgo</author><pubDate>Fri, 19 Apr 2019 11:01:39 +0800</pubDate><description><![CDATA[stackoverflow网站解决方法
转载自：安久哲(翻译

产生的原因，当第一个Fragment添加到Activity中的时候，Activity寻找出有fitsSystemWindows的子布局为其预留出状态栏的空间，其实就是设置一个padding，而其他Fragment添加到Activity中的时候，因为状态栏空间的适配已经被消费过一次了，Activity并不会再次去添加这个padding。...]]></description><category></category></item><item><title><![CDATA[记录安卓手机 刘海屏判断及获取信息]]></title><link>https://blog.youkuaiyun.com/stimgo/article/details/87801022</link><guid>https://blog.youkuaiyun.com/stimgo/article/details/87801022</guid><author>stimgo</author><pubDate>Wed, 20 Feb 2019 15:42:41 +0800</pubDate><description><![CDATA[object NotchSupportUtil {

    //----------------------huawei
    fun hasNotchAtHuawei(context: Context): Boolean {
        var ret = false
        try {
            val classLoader = context.getClass...]]></description><category></category></item><item><title><![CDATA[首次进入app，退到桌面在进入会重启启动页问题（首次装app，点击推送会重启app）]]></title><link>https://blog.youkuaiyun.com/stimgo/article/details/86686183</link><guid>https://blog.youkuaiyun.com/stimgo/article/details/86686183</guid><author>stimgo</author><pubDate>Tue, 29 Jan 2019 10:20:05 +0800</pubDate><description><![CDATA[
在launch活动页面的onCreate()方法的setContentView()方法前面
添加

if (!this.isTaskRoot()) {
            Intent mainIntent = getIntent();
            String action = mainIntent.getAction();
            if (mainIntent...]]></description><category></category></item><item><title><![CDATA[activity执行onDestroy后最大化回收内存]]></title><link>https://blog.youkuaiyun.com/stimgo/article/details/86607461</link><guid>https://blog.youkuaiyun.com/stimgo/article/details/86607461</guid><author>stimgo</author><pubDate>Wed, 23 Jan 2019 11:38:52 +0800</pubDate><description><![CDATA[public class ActivityReleaseMemoryUtil {
private static final ActivityReleaseMemoryUtil ourInstance = new ActivityReleaseMemoryUtil();
public static ActivityReleaseMemoryUtil getInstance() {
    retur...]]></description><category></category></item><item><title><![CDATA[去除recyclerview的notifydatasetchanged动画]]></title><link>https://blog.youkuaiyun.com/stimgo/article/details/86607375</link><guid>https://blog.youkuaiyun.com/stimgo/article/details/86607375</guid><author>stimgo</author><pubDate>Wed, 23 Jan 2019 11:35:03 +0800</pubDate><description><![CDATA[public class RecyclerViewAnimUtil {
    private static final RecyclerViewAnimUtil ourInstance = new RecyclerViewAnimUtil();

    public static RecyclerViewAnimUtil getInstance() {
        return ourIn...]]></description><category></category></item><item><title><![CDATA[优化大量图片加载recyclerview列表的滑动效果]]></title><link>https://blog.youkuaiyun.com/stimgo/article/details/86607278</link><guid>https://blog.youkuaiyun.com/stimgo/article/details/86607278</guid><author>stimgo</author><pubDate>Wed, 23 Jan 2019 11:32:02 +0800</pubDate><description><![CDATA[通用的几种方式

viewHolder复用机制
图片异步加载、缓存、压缩（使用glide等解决，最好后台反2套：缩略图和原图）
根据滑动状态处理加载情况

这里就主要处理：1.如果在滑动的过程中且没没被加载过，那么就不加载2.（加载）2.1在滑动的过程中且加载过2.2不在滑动中
主要是监听列表滚动，把状态传入adapter中，然后设置图片bean的是否加载过状态，然后根据图片状态和滑动状态确定是否...]]></description><category></category></item><item><title><![CDATA[安卓改变searchview字体的颜色等]]></title><link>https://blog.youkuaiyun.com/stimgo/article/details/81666989</link><guid>https://blog.youkuaiyun.com/stimgo/article/details/81666989</guid><author>stimgo</author><pubDate>Tue, 14 Aug 2018 14:49:23 +0800</pubDate><description><![CDATA[这里要针对2种searchview进行操作，

通常的 
- SearchView

 SearchView mSearchViewInclude;
int id =mSearchViewInclude.getContext().getResources().getIdentifier(&amp;quot;android:id/search_src_text&amp;quot;, null, null);
TextView text...]]></description><category></category></item><item><title><![CDATA[GreenDao遇到PRIMARY KEY must be unique (code 19)]]></title><link>https://blog.youkuaiyun.com/stimgo/article/details/81625568</link><guid>https://blog.youkuaiyun.com/stimgo/article/details/81625568</guid><author>stimgo</author><pubDate>Mon, 13 Aug 2018 10:34:47 +0800</pubDate><description><![CDATA[错误如图： 


这里可能有以下几个原因：


1.如果主键标记时没有添加autoincrement , 那么就是传的id重复了, 传的时候获取最新id然后++id即可, 这里不讨论




@Id(autoincrement = true)


2.我明明标了autoincrement , 按理不用传id的, 也确实没传, 还爆not unique的话, 就是踩坑了


GreenDao的主键必...]]></description><category></category></item><item><title><![CDATA[新建项目运行遇到java.lang.NoSuchMethodError: No static method getFont]]></title><link>https://blog.youkuaiyun.com/stimgo/article/details/81563495</link><guid>https://blog.youkuaiyun.com/stimgo/article/details/81563495</guid><author>stimgo</author><pubDate>Fri, 10 Aug 2018 14:59:36 +0800</pubDate><description><![CDATA[如图所示 


这是由 com.android.support:appcompat版本不一致遇到的BUG 
解决方法是： 
build.gradle中的



 compileSdkVersion 26
 buildToolsVersion &quot;27.0.0&quot;

引入的类库

    compile 'com.android.support:appcompat-v7:27.0.0'


的版本要和b...]]></description><category></category></item><item><title><![CDATA[transformDexArchiveWithExternalLibsDexMergerForDebug 问题的完美定位[转载]]]></title><link>https://blog.youkuaiyun.com/stimgo/article/details/81561572</link><guid>https://blog.youkuaiyun.com/stimgo/article/details/81561572</guid><author>stimgo</author><pubDate>Fri, 10 Aug 2018 13:07:52 +0800</pubDate><description><![CDATA[地址：transformDexArchiveWithExternalLibsDexMergerForDebug 

– double Shift：全局查找，这个查看和Alt+H稍稍有些不同，这个是全局文件查找，到文件名称层面。



exclude 剔除掉多余的包

场景一



要移除的jar包不在aar包中的classes.jar中

直接把aar包里的Jar打包的时候给去掉，就像下面这这样。...]]></description><category></category></item><item><title><![CDATA[自定义notification点击跳到web或者指定页面，回退到main页面]]></title><link>https://blog.youkuaiyun.com/stimgo/article/details/81219985</link><guid>https://blog.youkuaiyun.com/stimgo/article/details/81219985</guid><author>stimgo</author><pubDate>Thu, 26 Jul 2018 14:49:05 +0800</pubDate><description><![CDATA[重要的就是添加回退栈



TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
    // 添加返回栈
        stackBuilder.addParentStack(WebCommonActivity.class);
    // 添加Intent到栈顶
        stackBuilder.addNextI...]]></description><category></category></item></channel></rss>