<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[daimengs的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/daimengs</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; daimengs]]></copyright><item><title><![CDATA[leep()和wait()方法与对象锁、锁池、等待池]]></title><link>https://blog.youkuaiyun.com/daimengs/article/details/82805404</link><guid>https://blog.youkuaiyun.com/daimengs/article/details/82805404</guid><author>daimengs</author><pubDate>Fri, 21 Sep 2018 18:10:15 +0800</pubDate><description><![CDATA[版权声明：本文为博主原创文章，未经博主允许不得转载。 https://blog.youkuaiyun.com/u014561933/article/details/58639411

一道Java的题目:


关于sleep()和wait()，以下描述错误的一项是:
- A sleep是线程类（Thread）的方法，wait是Object类的方法；
- B sleep不释放对象锁，wait放弃对象锁
- C ...]]></description><category></category></item><item><title><![CDATA[为什么通过ThreadLocal可以在不同的线程中维护一套数据的副本并且彼此互不干扰]]></title><link>https://blog.youkuaiyun.com/daimengs/article/details/82559885</link><guid>https://blog.youkuaiyun.com/daimengs/article/details/82559885</guid><author>daimengs</author><pubDate>Sun, 09 Sep 2018 16:52:51 +0800</pubDate><description><![CDATA[这里任玉刚大神也在http://blog.youkuaiyun.com/singwhatiwanna/article/details/48350919博客中给出了一个例子，正如大神所言：


ThreadLocal之所以有这么奇妙的效果，是因为不同线程访问同一个ThreadLocal的get方法，ThreadLocal内部会从各自的线程中取出一个数组，然后再从数组中根据当前ThreadLocal的索引去查找出...]]></description><category></category></item><item><title><![CDATA[Android 防抖动多次点击问题处理及RxBinding事件流使用]]></title><link>https://blog.youkuaiyun.com/daimengs/article/details/82453699</link><guid>https://blog.youkuaiyun.com/daimengs/article/details/82453699</guid><author>daimengs</author><pubDate>Thu, 06 Sep 2018 09:01:21 +0800</pubDate><description><![CDATA[ 

 android 重复点击 按钮防抖 RxJava事件流  更多

个人分类： Android 

所属专栏： Android 优化扩展

版权声明：本文为博主csdn_aiyang原创文章，未经博主允许不得转载。 https://blog.youkuaiyun.com/csdn_aiyang/article/details/75269865

前言

 


 

    在日常开发工作中，会碰到Bu...]]></description><category></category></item><item><title><![CDATA[Android Framework 初探]]></title><link>https://blog.youkuaiyun.com/daimengs/article/details/82391173</link><guid>https://blog.youkuaiyun.com/daimengs/article/details/82391173</guid><author>daimengs</author><pubDate>Tue, 04 Sep 2018 21:59:03 +0800</pubDate><description><![CDATA[最近工作任务不忙，学习一下Android Framework方面的知识。

一、介绍，是什么

     Android的Framework是直接应用之下的一层，叫做应用程序框架层。这一层是核心应用程序所使用的API框架，为应用层提供各种API，提供各种组件和服务来支持我们的Android开发，包括ActivityManager,WindowManager,ViewSystem等。下面贴一张学习A...]]></description><category></category></item><item><title><![CDATA[zip 优化，移除无用资源，混淆]]></title><link>https://blog.youkuaiyun.com/daimengs/article/details/82345172</link><guid>https://blog.youkuaiyun.com/daimengs/article/details/82345172</guid><author>daimengs</author><pubDate>Mon, 03 Sep 2018 10:30:37 +0800</pubDate><description><![CDATA[as 开启代码混淆和混淆规则

app的builde.gradle的文件下，buildTypes节点添加release节点，minifyEnabled属性表示是否开启混淆，proguardFiles表示混淆依赖的文件，具体开启方法如下：


			1

			2

			3

			4
			
			
			buildTypes {

			        release {

			      ...]]></description><category></category></item><item><title><![CDATA[全面分析线程池源码]]></title><link>https://blog.youkuaiyun.com/daimengs/article/details/82315220</link><guid>https://blog.youkuaiyun.com/daimengs/article/details/82315220</guid><author>daimengs</author><pubDate>Sun, 02 Sep 2018 14:22:26 +0800</pubDate><description><![CDATA[线程池-ThreadPoolExecute源码分析



 




java.util.concurrent.ThreadPoolExecutor 核心线程池，继承自AbstractExecutorService，实现了ExecutorService和Executor接口。


线程池的好处

降低性能消耗、提高响应速度：对于应用需要频繁创建线程，而且线程任务都比较简单，比如一些IO任务，线程的...]]></description><category></category></item><item><title><![CDATA[线程池的部分工作原理]]></title><link>https://blog.youkuaiyun.com/daimengs/article/details/82315170</link><guid>https://blog.youkuaiyun.com/daimengs/article/details/82315170</guid><author>daimengs</author><pubDate>Sun, 02 Sep 2018 14:15:42 +0800</pubDate><description><![CDATA[ 

 随着cpu核数越来越多，不可避免的利用多线程技术以充分利用其计算能力。所以，多线程技术是服务端开发人员必须掌握的技术。

 

线程的创建和销毁，都涉及到系统调用，比较消耗系统资源，所以就引入了线程池技术，避免频繁的线程创建和销毁。

 

在Java用有一个Executors工具类，可以为我们创建一个线程池，其本质就是new了一个ThreadPoolExecutor对象。线程池几乎也是面...]]></description><category></category></item><item><title><![CDATA[线程池状态迁移]]></title><link>https://blog.youkuaiyun.com/daimengs/article/details/82315163</link><guid>https://blog.youkuaiyun.com/daimengs/article/details/82315163</guid><author>daimengs</author><pubDate>Sun, 02 Sep 2018 14:14:13 +0800</pubDate><description><![CDATA[ 

 

线程池状态迁移





1. RUNNING

状态说明：线程池处在RUNNING状态时，能够接收新任务，以及对已添加的任务进行处理。
	状态切换：线程池的初始化状态是RUNNING。换句话说，线程池被一旦被创建，就处于RUNNING状态！
	道理很简单，在ctl的初始化代码中，就将它初始化为RUNNING状态，并且&quot;任务数量&quot;初始化为0。
2. SHUTDOWN

状态说明：线程池...]]></description><category></category></item><item><title><![CDATA[什么是CAS机制]]></title><link>https://blog.youkuaiyun.com/daimengs/article/details/82314262</link><guid>https://blog.youkuaiyun.com/daimengs/article/details/82314262</guid><author>daimengs</author><pubDate>Sun, 02 Sep 2018 14:06:59 +0800</pubDate><description><![CDATA[ 



































示例程序：启动两个线程，每个线程中让静态变量count循环累加100次。



最终输出的count结果是什么呢？一定会是200吗？

加了同步锁之后，count自增的操作变成了原子性操作，所以最终的输出一定是count=200，代码实现了线程安全。









所谓原子操作类，指的是java.util.concurr...]]></description><category></category></item><item><title><![CDATA[浅谈ANR及log分析ANR]]></title><link>https://blog.youkuaiyun.com/daimengs/article/details/82258526</link><guid>https://blog.youkuaiyun.com/daimengs/article/details/82258526</guid><author>daimengs</author><pubDate>Fri, 31 Aug 2018 16:34:42 +0800</pubDate><description><![CDATA[ 

版权声明：本文为博主原创文章，未经博主允许不得转载。 https://blog.youkuaiyun.com/itachi85/article/details/6918761

一：什么是ANR

ANR:Application Not Responding，即应用无响应

二：ANR的类型

ANR一般有三种类型：

1：KeyDispatchTimeout(5 seconds) --主要类型

按键...]]></description><category></category></item><item><title><![CDATA[EventBus原理详解]]></title><link>https://blog.youkuaiyun.com/daimengs/article/details/82258500</link><guid>https://blog.youkuaiyun.com/daimengs/article/details/82258500</guid><author>daimengs</author><pubDate>Fri, 31 Aug 2018 16:33:02 +0800</pubDate><description><![CDATA[ 

版权声明：本文为博主原创文章，未经博主允许不得转载。 https://blog.youkuaiyun.com/michael_yt/article/details/52014022

在EventBus 3.0 使用介绍 这篇博客中介绍了关于EventBus的一些使用方法，下面我们就来看看它内部的具体实现吧！

流程图

先来一张整体流程图：



思路图

在看看register 和 post 的过程...]]></description><category></category></item><item><title><![CDATA[Butterknife深入剖析，自己实现Butterknife]]></title><link>https://blog.youkuaiyun.com/daimengs/article/details/82258447</link><guid>https://blog.youkuaiyun.com/daimengs/article/details/82258447</guid><author>daimengs</author><pubDate>Fri, 31 Aug 2018 16:30:19 +0800</pubDate><description><![CDATA[前言

Butterknife我相信，对大部分做Android开发的人都不陌生，这个是供职于Square公司的JakeWharton大神开发的，目前github的star为 12449 。使用这个库，在AS中搭配Android ButterKnife Zelezny插件，简直是开发神器，从此摆脱繁琐的findViewById(int id)，也不用自己手动@bind(int id) ， 直接用插件...]]></description><category></category></item><item><title><![CDATA[GreenDao存储自定义类型对象解决方案（转）]]></title><link>https://blog.youkuaiyun.com/daimengs/article/details/82216944</link><guid>https://blog.youkuaiyun.com/daimengs/article/details/82216944</guid><author>daimengs</author><pubDate>Thu, 30 Aug 2018 10:10:54 +0800</pubDate><description><![CDATA[ 

最近公司项目选用GreenDao作为Android客户端本地数据库的对象关系映射框架。对于GreenDao虽然以往也有简单用过，但这还是笔者第一次在实际业务中使用。碰到了题目所述的两个问题，虽然在Tutorial里和百度没找到答案，但在官方issue里搜了一圈果然有方案，遂记录下来帮助更多人。

综合主键

需求场景：某张表里需要两个或多个column组合在一起成为一个综合主键。比如你的表里...]]></description><category></category></item><item><title><![CDATA[Android贝塞尔曲线-波纹（波浪）效果]]></title><link>https://blog.youkuaiyun.com/daimengs/article/details/82189275</link><guid>https://blog.youkuaiyun.com/daimengs/article/details/82189275</guid><author>daimengs</author><pubDate>Wed, 29 Aug 2018 17:35:58 +0800</pubDate><description><![CDATA[ android波浪效果波纹效果贝塞尔曲线-android更多

个人分类： 自定义view贝塞尔曲线-android

版权声明：本文为博主原创文章，未经博主允许不得转载。 https://blog.youkuaiyun.com/qq_28535319/article/details/78709388

Android贝塞尔曲线-波纹效果

刚写一个波纹的控件，具体的代码给上，简要介绍下实现的方法。最后会放...]]></description><category></category></item><item><title><![CDATA[Android屏幕适配很麻烦吗？不！太简单了。。。]]></title><link>https://blog.youkuaiyun.com/daimengs/article/details/82188674</link><guid>https://blog.youkuaiyun.com/daimengs/article/details/82188674</guid><author>daimengs</author><pubDate>Wed, 29 Aug 2018 17:23:36 +0800</pubDate><description><![CDATA[ 



转载请作明出处：https://www.jianshu.com/p/4254ea9d1b27

前言

作为一个Android开发人员，你还在为了适配各种尺寸的屏幕而苦恼吗？你还在为了出现一个新的机型而修改着数不尽的dimens和layout吗？你还在为了UI给的奇葩尺寸的设计图而绞尽奶汁计算距离吗？如果你为了这些事情而苦恼，那么看完这篇文章，希望可以帮你减少开发时间，减缓生命的流逝速度...]]></description><category></category></item><item><title><![CDATA[Android屏幕适配及DisplayMetrics解析]]></title><link>https://blog.youkuaiyun.com/daimengs/article/details/82187200</link><guid>https://blog.youkuaiyun.com/daimengs/article/details/82187200</guid><author>daimengs</author><pubDate>Wed, 29 Aug 2018 17:04:52 +0800</pubDate><description><![CDATA[版权声明：本文为博主原创文章，未经博主允许不得转载。 https://blog.youkuaiyun.com/hp910315/article/details/48501197

一、基本概念
1、屏幕尺寸
屏幕尺寸指屏幕的对角线的长度，单位是英寸(in)，1英寸=2.54厘米

2、px
是英文单词pixel的缩写，意为像素，屏幕上的点。我们通常所说的分辨率如480X800就是指的像素，一般以纵向像素*横向...]]></description><category></category></item><item><title><![CDATA[继承高德地图 如何运用 代码获取经纬等设置]]></title><link>https://blog.youkuaiyun.com/daimengs/article/details/81950773</link><guid>https://blog.youkuaiyun.com/daimengs/article/details/81950773</guid><author>daimengs</author><pubDate>Wed, 22 Aug 2018 20:45:12 +0800</pubDate><description><![CDATA[
package com.bw.Movie.activity;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.ImageView;
import android.widget.Toast;

impo...]]></description><category></category></item><item><title><![CDATA[Android View的事件分发机制和滑动冲突解决方案]]></title><link>https://blog.youkuaiyun.com/daimengs/article/details/81771712</link><guid>https://blog.youkuaiyun.com/daimengs/article/details/81771712</guid><author>daimengs</author><pubDate>Fri, 17 Aug 2018 08:44:56 +0800</pubDate><description><![CDATA[ 

本文由陈添投稿。

陈添的博客地址：

http://www.jianshu.com/u/f7fa41541bf9

 

这篇文章会先讲Android中View的事件分发机制，然后再介绍Android滑动冲突的形成原因并给出解决方案。因水平有限，讲的不会太过深入，只希望各位看了之后对事件分发机制的流程有个大概的概念，并且以后能自己解决有关滑动冲突的问题，用语浅薄，文笔生疏，见谅。

 

...]]></description><category></category></item><item><title><![CDATA[Adroid 收集]]></title><link>https://blog.youkuaiyun.com/daimengs/article/details/81771684</link><guid>https://blog.youkuaiyun.com/daimengs/article/details/81771684</guid><author>daimengs</author><pubDate>Fri, 17 Aug 2018 08:43:04 +0800</pubDate><description><![CDATA[用两张图告诉你，为什么你的 App 会卡顿? - Android - 掘金

Cover 有什么料？ 从这篇文章中你能获得这些料： 知道setContentView()之后发生了什么？ ...

Android 获取 View 宽高的常用正确方式，避免为零 - 掘金

相信有很多朋友都有过在 Activity 中通过 getWidth() 之类的方法获取 View 的宽高值，可能在 onCreat...]]></description><category></category></item><item><title><![CDATA[内外部滑动冲突]]></title><link>https://blog.youkuaiyun.com/daimengs/article/details/81530016</link><guid>https://blog.youkuaiyun.com/daimengs/article/details/81530016</guid><author>daimengs</author><pubDate>Thu, 09 Aug 2018 08:45:06 +0800</pubDate><description><![CDATA[

getParent().requestDisallowInterceptTouchEvent(x);]]></description><category></category></item></channel></rss>