自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (2)
  • 收藏
  • 关注

转载 本地配置DNS服务器(MAC版)

作为一个前端开发者,会遇到使用cookie的情况,常见的如:登录,权限控制,视频播放,图形验证码等,这时候本地开发者在PC上会使用修改hosts的方式添加指向本地的域名,来获取cookie的同域名。如:127.0.0.1 local.smartstudy.com 但是在移动端的时候,这一招就不好使了,苹果手机在没越狱的情况下是没法修改hosts的,难道为了这个让自己的爱机越个狱?答案应...

2019-01-14 11:03:20 2023

转载 使用CURL检测Clinet侧发起的HTTP请求各阶段时间

使用CURL检测Client端发起的HTTP请求,各个阶段的时间。 第一、HTTP请求的过程介绍一个HTTP请求,涉及多个阶段1、DNS解析域名2、请求从Clinet路由至Server,Clinet与Server建立TCP连接3、如果使用了HTTPS,还涉及SSL连接的建立4、server开始准备数据开始逻辑计算、调后端接口、查数据库缓存等5、server开始传...

2019-01-14 10:22:59 686 1

原创 序列化问题两例

序列化问题一:PendingIntent 6.0以后无法携带序列化对象有混合传序列化对象 都会有问题test(1541726712000l);private void test(long time) { Intent intent = getaIntent(); PendingIntent pending = PendingIntent.getBroad...

2018-12-19 09:51:14 244

原创 app自定义view后按键音失效

原因是view重写了dispatchKeyEvent,并返回了true。解决:在view重写的dispatchKeyEvent返回true时,调用playSoundEffect(SoundEffectConstants.getContantForFocusDirection(getDirection(event)));  private Integer getDirect...

2018-12-19 09:49:47 448

原创 Tinker does not support instant run mode, please trigger build by assembleBAOFENGDebug

Tinker does not support instant run mode, please trigger build by assembleBAOFENGDebug or disable instant run in 'File->Settings...'. 解决:关闭tinker,设置tinkerEnable=false     ...

2018-11-08 18:29:52 180

原创 第三方app跳转当前app,无法启动activity

1.broadcast里用application无法启动activity Context startContext = BaseActivity.getTopActivity();StartPageUtils.startActivityByIntent(activityIntent, startContext); 2.action startactivity...

2018-11-05 20:48:29 835

原创 ArrayList 报错 ConcurrentModificationException

 今天在程序中出现了一个ConcurrentModificationException错误。03-20 14:31:39.542 E/AndroidRuntime( 7761): java.util.ConcurrentModificationException03-20 14:31:39.542 E/AndroidRuntime( 7761): at java.util.ArrayL...

2018-10-25 13:17:39 235

原创 RecyclerView,出现丢焦点问题

RecyclerView嵌套RecyclerView或者嵌套了LinearLayout,带上属性android:focusable="true" android:focusableInTouchMode="true"向上翻页,加载item时出现丢焦点。原因是此时上面的item还没有加载出来。解决办法:自定义LinearLayoutManager重写onFocusSearchF...

2018-07-25 15:44:20 2956 2

原创 Android MediaPlayer如何设置宽高

https://blog.csdn.net/junzia/article/details/52704129MediaPlayer.OnVideoSizeChangedListener:视频宽高发生改变的时候会触发。当所设置的媒体资源没有视频图像、MediaPlayer没有设置展示的holder或者视频大小还没有被测量出来时,获取宽高得到的都是0.Valid and invalid states感觉...

2018-03-26 11:14:10 4744

原创 Android 图片压缩处理适配问题

对于ImageView,设置了ScaleType,图片会根据ScaleType进行压缩。if (dwidth 0 || dheight 0 || ScaleType.FIT_XY == mScaleType) { /* If the drawable has no intrinsic size, or we're told to scaletofit, then we

2018-01-05 11:28:02 227

转载 java内存机制

http://blog.csdn.net/sinat_25233885/article/details/53817352分代回收中将内存分成了3代①年轻代。年轻代内分为eden区和两个survivor区。eden区存储刚刚建立的新对象。eden区满后,将还存活的对象复制到一个survivor区中,然后这个survivor区满了以后,将还存活的对象复制到第二个

2017-07-11 12:53:06 304

原创 Glide与Fresco缓存机制

版权声明:本文为博主原创文章,请不要重复造轮子,转载注明出处即可。目录(?)[+]Glide缓存机制源码浅析内容概览流行的图片加载框架常见的缓存策略LruCacheGlide源码

2017-06-26 17:50:31 3243 1

原创 LRUCache策略

LRUCache:最近最少使用(Least Recently Used)缓存,可用于bitmap 的图片缓存。具体策略就是:以一个LinkedHashMap来存放元素,LinkedHashMap设置以访问时间存储。在每次存的时候,判断如果size超过设定的最大尺寸maxSize,就删除掉最不常用的元素,直到满足不大于maxSize。1)对于bitmap,可以设maxSize

2017-06-26 15:31:16 469

原创 android事件分发机制

网上很多介绍事件分发机制的,都讲的云里雾里。自己动手写了个demo,现在将完整结论总结如下:首先说明有三个相关方法1)public boolean dispatchTouchEvent(MotionEvent ev)  这个方法用来分发TouchEvent2)public boolean onInterceptTouchEvent(MotionEvent ev) 这个方

2017-06-20 16:52:55 186

原创 android ANR小结

参考http://blog.csdn.net/tjy1985/article/details/6777346  http://blog.csdn.net/tjy1985/article/details/6777355  http://blog.csdn.net/tjy1985/article/details/6777983 一、android ANR分类: 

2017-06-17 16:09:02 548

原创 android应用的签名及混淆

手机应用用到微信分享的时候,需要去微信开放平台申请权限,申请的时候,需要提供应用签名信息。1)应用签名实现:通过这个生成release.jks文件,设置密码等信息。然后在gradle配置这个文件。signingConfigs { release { storeFile fil

2017-06-15 16:50:26 391

原创 同时集成阿里云旺与友盟推送,初始化失败s:-11,s1:accs bindapp error!的解决办法

在应用中需要同时集成聊天和推送功能,聊天选用阿里的sdk(百川云旺),推送选用友盟的pushSDK。这时候悲剧就出现了,注册友盟的时候报错。 I/com.umeng.message.PushAgent: register-->onFailure-->s:-11,s1:accs bindapp error!单独集成友

2017-06-14 16:05:09 13050

转载 【Android】技术调研:用代码模拟屏幕点击、触摸事件

转自http://blog.csdn.net/u010983881/article/details/51565361在Android中,有些场景需要使用代码来模拟人的操作,比如微信自动抢红包、UI测试等都需要模拟实现点击事件(Click)、触摸事件(Touch)、键盘事件(KeyBoard)等。那么,有没有现成的方案可以实现呢?答案当然是肯定的啦,往下看。

2017-06-13 11:52:45 1662

转载 Android录屏功能的实现

转自 http://blog.csdn.net/bit_kaki/article/details/51801687     最近做一个Android开发的项目用到了录屏的功能,开始查阅了一些资料和博客,基本上都是在讨论ROOT的。直到后来在github上看到一个比较新的代码,才恍然发现,Android 5.0时候开放了一个新的接口---android.media.pro

2017-06-13 11:37:17 1525 1

原创 Android动态加载ClassLoader

ClassLoader工作机制(参考http://www.cnblogs.com/xujian2014/p/5551153.html)一、ClassLoader概念  ClassLoader是用来动态的加载class文件到虚拟机中,并转换成java.lang.class类的一个实例,每个这样的实例用来表示一个java类,我们可以根据Class的实例得到该类的信息,并通过

2017-05-25 16:40:09 1610

转载 vysor原理以及Android同屏方案

vysor是一个免root实现电脑控制手机的chrome插件,目前也有几款类似的通过电脑控制手机的软件,不过都需要root权限,并且流畅度并不高。vysor没有多余的功能,流畅度也很高,刚接触到这款插件时我惊讶于它的流畅度以及免root,就一直对它的实现原理很感兴趣。这款插件我用了大半年,最近在升级后我发现它居然开始收费了,终生版需要39.99美元,不过经过简单的分析后我很轻松的破解了它的pro版

2017-05-19 11:19:23 2001

原创 系列18、组合模式-View及ViewGroup

组合模式定义:将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。View及ViewGroup是组合模式的实现。ViewGroup类extends了View类,不同之处是实现了ViewParent和ViewManager接口。ViewManager接口定义了addView、removeView等对子视图操作对方法,而ViewParent

2017-05-18 10:49:19 331

原创 系列笔记17、代理模式-ActivityManagerProxy、Binder

Android源码里的ActivityManagerProxy是代理模式的实现。

2017-05-11 18:52:22 663

转载 TCP协议与UDP协议的区别

TCP/IP协议是一个协议簇。里面包括很多协议。UDP是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。转自: http://zhangjiangxing-gmail-com.iteye.com/blog/646880TCP(Transmission Control Protocol,传输控制协议)是面向连接

2017-05-04 16:47:01 1733

原创 系列笔记17、代理模式简介

参考文章:http://blog.csdn.net/hejingyuan6/article/details/36203505代理模式可以大致分为两大部分,一是静态代理,二是动态代理。代理解决的问题当两个类需要通信时,引入第三方代理类,将两个类的关系解耦,让我们只了解代理类即可,而且代理的出现还可以让我们完成与另一个类之间的关系的统一管理,但是切记,代理类和委托类要实现相同的

2017-05-03 15:57:01 185

原创 EditText属性

三、顺便介绍一下xml的inputtype的值。Android:inputType=”none”android:inputType=”text”android:inputType=”textCapCharacters” 字母大写android:inputType=”textCapWords” 首字母大写android:inputType=”textCapSentences” 仅

2017-04-21 16:18:19 710

原创 系列笔记11、观察者模式-ListView与Adapter

Subject:抽象主题,也就是被观察者(Observable)ConcreteSubject:具体主题Observer:抽象观察者ConcreteObserver:具体的观察者观察者模式ListView与AdapterListView数据变化后,会调用Adapter的notifyDataSetChanged()方法,这个方法定义在BaseAdapter中

2017-04-19 14:58:57 234

原创 系列笔记11.2、观察者模式BroadcastReceiver

来看广播接收器掉基本原理。    public class TestActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        Int

2017-04-19 14:58:24 299

原创 系列笔记9、解释器模式-PackageParser & PMS

一、PackageParser解析AndroidManifest.xml文件用到的是PackageParser类。PackageParser.javapublic class PackageParser {  public final static class Package {...}  public final static class Permission extends

2017-03-30 16:22:52 1623

原创 系列笔记6、策略模式 -Android动画

策略模式

2017-03-23 15:25:19 242

原创 系列笔记5、抽象工厂模式 -MediaPlayerFactory(缺)

抽象工厂对应的是多个产品MediaPlayerFactory分析的是Android底层代码,暂时不看了。

2017-03-22 18:02:56 484

原创 系列笔记4、工厂方法模式 -Activity的onCreate方法

工厂模式比较好理解。uml图如下:接下来主要要讲的是onCreate方法一个Activity的onCreate方法相当于一个工厂方法,那么这个onCreate方法是怎么启动的呢?对于一个应用程序来说,它的真正入口是ActivityThread的main方法。ActivityThread.javapa

2017-03-22 17:18:20 454

原创 系列笔记3、原型模式 -clone()

原型模式也就是我们俗说的clone:Object类的clone是深拷贝。

2017-03-22 17:12:41 179

原创 系列笔记3.2、原型模式 -Intent的查找与匹配(待补充)

Intent的查找与匹配2.apk的信息表带构建过程首先要说的是系统服务之一PackageManagerService(PMS),PMS会扫描系统中安装的所有apk目录(data/app、system/app),解析apk包下的AndroidManifest.xml文件,解析完成后就获取了Activity、Service、Broadcast等信息。PMS在构造函数中就开

2017-03-22 17:10:57 372

原创 系列笔记2.2、WindowManager

Dialog类的show方法里用到了WindowManager这个类。 Dialog.java        public void show() {        ...        onStart();        mDecor = mWindow.getDecorView();        ...        WindowManager.Layou

2017-03-18 14:46:34 304

原创 系列笔记2、建造者(Builder)模式 -AlertDialog

Builder模式类图:AlertDialog采用了builder模式来构造。下面分析//测试代码private void showDialog(Context context){        AlertDialog dialog=new AlertDialog.Builder(context).setTitle("test")

2017-03-17 17:31:24 475

原创 系列笔记1、单例模式-LayoutInflater

最近在读《Android源码设计模式解析与实战》,会尝试自己阅读、整理android源码。LayoutInflater的加载过程1.LayoutInflater是通过LayoutInflater.from(context)来获取到一个LayoutInflater实例的。在from方法中会调用 context.getSystemService(Context.LAYOUT

2017-03-15 13:32:09 449

转载 Android Studio调试功能使用总结【转】

这段时间一直在使用Intellij IDEA, 今天把调试区工具的使用方法记录于此。 先编译好要调试的程序。1.设置断点选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可。 2.开启调试会话点击红色箭头指向的小虫子,开始进入调试。 IDE下方出现Debug视图,红色的箭头指向的是现在调试程序停留的

2017-03-09 11:10:44 164

原创 TextView跑马灯的亮度出现渐变问题的解决

TextView设置跑马灯之后,右边滚动的时候会有渐变的问题。解决方案:增加shadowandroid:shadowColor="@color/color_4c000000"android:shadowDx="0"android:shadowDy="1"android:shadowRadius="3"

2017-01-19 18:11:14 1039 1

原创 SharedPreferencesManager无法通过代码删除缓存

SharedPreferencesManager试图删除一个缓存时,存在问题,缓存无法删除。sContext.getSharedPreferences(name, Context.MODE_PRIVATE).edit() .clear().apply();网上搜到的解释是:sSharedPrefs在程序中是静态的:private

2017-01-19 17:51:49 520

android源代码 Rss阅读器

原创 自己写的源代码 导入即可用 Android 应用程序开发技术 rss阅读器实例 实现通过Rss地址阅读到新闻 网页等内容 可自己添加Rss地址 并保存至数据库 功能强大

2012-11-28

Android多版本兼容示例

android 学习用 这是一个叫你怎么去学习版本兼容问题的 内容不错 找来的

2012-10-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除