自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

BridgeGeorge

专注于Android开发,架构和性能优化

  • 博客(15)
  • 资源 (3)
  • 收藏
  • 关注

转载 Android 状态保存与恢复流程 完全解析

Activity的方法onSaveInstanceState(Bundle outState),按照文档里说的,这个方法是在内存不够时,系统要强制杀掉这个Activity时,进行调用的。但经过我的测试,发现这个方法并不是在系统内存不够时,要杀掉Activity时,才调用的。测试结果:只要Activity不finish,Activity进入后台(比如Home键,跳转到其他的Activi

2017-05-23 15:49:01 539

原创 Android Bundle总结

Bundle 介绍官方文档对Bundle的说明如下: A mapping from String values to various Parcelable types.官方意为Bundle封装了String值到各种Parcelable类型数据的映射,可见跟我们上述理解是吻合的。Bundle源码分析知道了Bundle的主要作用,再来看源码就容易理解了。Bundle位于android.os包中,是

2017-05-23 15:42:07 6393 3

原创 Android Loader异步加载器解析

Loader介绍  Loader 是Android 3.0开始引入的一个异步数据加载框架,它使得在Activity或者Fragment 中异步加载数据变得简单,同时它在数据源发生变化时,能够及时发出消息通知。Loader框架涉及的API主要如下。Loader: 加载器框架的基类,封装了实现异步数据加载的接口,当一个加载器被激活后,它就会开始监视数据源并在数据发生改变时发送新的结果。AsyncTask

2017-05-19 18:47:24 451

原创 Android 性能优化——解决应用启动白屏/黑屏问题

项目中遇到从桌面 launcher 的小图标冷启动 App 时会经常碰到白屏/黑屏的问题,大约几百毫秒,然后才会跳转到我们应用程序的第一个 Activity, 为什么会出现这种情况?原因当从桌面 Launcher 的小图标点击冷启动一个 App 的时候,程序需要进行一些基本的初始化操作,例如在Application 或者MainActivty中做了很多耗时操作,例如初始化第三方SDK等,当手机性能不好,配

2017-05-19 15:53:25 2314 1

原创 Java虚拟机(九)——Java语法糖

介绍在Java 编程中,做循环操作莫过于使用while或者for了。 比如int i=0;while(i10){ //do something... i++; }再比如int []attr={1,2,3,4,5,6};for(int i=0;iattr.length;i++){ //do sth...} 当然 还有 do while

2017-05-19 14:58:02 554

原创 Android URL Scheme协议使用

定义android中的scheme是一种页面内跳转协议,是一种非常好的实现机制,通过定义自己的scheme协议,可以非常方便跳转app中的各个页面;通过scheme协议,服务器可以定制化告诉App跳转那个页面,可以通过通知栏消息定制化跳转页面,可以通过H5页面跳转页面等。URL Scheme应用场景客户端应用可以向操作系统注册一个 URL scheme,该 scheme 用于从浏览

2017-05-18 18:16:59 810

原创 Java 并发编程深入学习——CopyOnWrite容器使用和原理分析

Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。

2017-05-18 17:56:42 993

原创 Android 性能优化——避免过度绘制

什么是过度绘制(OverDraw)在多层次重叠的UI结构里面,如果不可见的UI也在做绘制的操作,会导致某些像素区域被绘制了多次。这样就会浪费大量的CPU以及GPU资源。过度绘制最直观的影响就是会导致APP卡顿。还好系统有提供GPU过度绘制调试工具会在屏幕上用不同的颜色,来表明一个像素点位被重复绘制的次数。怎样开启GPU过度绘制调试工具?1.点击进入“设置”; 2.点击进入“开发者选项” 3.选中

2017-05-16 20:02:00 1323

原创 Android性能优化—— Apk瘦身的实现

为了能够减小APK的大小,首先需要知道APK由哪些部分构成,然后针对每个部分做相应的优化工作,下图是一个APK解压后的文件结构:

2017-05-16 19:21:58 829

原创 Java 集合框架源码分析(八)—— ConcurrentHashMap

概述ConcurrentHashMap 是Java 并发框架中很重要的一个类,是实现支持高并发、高吞吐量的线程安全的HashMap。当然不能直接对整个hashtable加锁,所以在ConcurrentHashMap中,数据的组织结构和HashMap有所区别。与HashTable区别下面这幅图直观展示了ConcurrentHashMap与HashTable的区别,可以看到HashTable是对整个Ha

2017-05-16 12:00:36 813

原创 Android 退出终止APP的方法总结

1. Dalvik VM的本地方法System.exit(0); //常规Java、c#的标准退出法,返回值为0代表正常退出2. 任务管理器方法首先要说明该方法运行在Android 1.5 API Level为3以上才可以,同时需要权限ActivityManager am = (ActivityManager)getSystemService (Context.ACTIVI

2017-05-12 20:01:25 5288

原创 Android IntentService使用及原理分析

##IntentService 介绍IntentService是一种特殊的service,它继承了Service并且它是一个抽象类,因此必须创建它的子类才能使用IntentService.IntentService可用于执行后台耗时任务,当任务执行后它会自动停止,同时由于IntentService是服务的原因,这导致它的优先级比单纯的线程要高得多,所以IntentService比较适合执行一些高优先级的后台任务,

2017-05-05 16:05:52 660

原创 Android HandlerThread使用及原理分析

##子线程的消息循环很明显的一点就是,我们要在子线程中调用Looper.prepare() 为一个线程开启一个消息循环,默认情况下Android中新诞生的线程是没有开启消息循环的。(主线程除外,主线程系统会自动为其创建Looper对象,开启消息循环。) Looper对象通过MessageQueue来存放消息和事件。一个线程只能有一个Looper,对应一个MessageQueue。 然后通过Looper.loop()

2017-05-05 16:04:59 393

原创 Android 本地广播LocalBroadcastManager原理分析

LocalBroadcastManager是Android Support包提供了一个工具,是用来在同一个应用内的不同组件间发送Broadcast的。

2017-05-05 14:48:38 2379

原创 Android 性能优化——使用优化集合类SparseArray&ArrayMap

SparseArray  SparseArray比HashMap更省内存,在某些条件下性能更好,主要是因为它避免了对key的自动装箱(int转为Integer类型),它内部则是通过两个数组来进行数据存储的,一个存储key,另外一个存储value,为了优化性能,它内部对数据还采取了压缩的方式来表示稀疏数组的数据,从而节约内存空间,我们从源码中可以看到key和value分别是用数组表示:

2017-05-02 16:21:47 1406

IpcBigBitmapDemo.zip

原文连接https://blog.csdn.net/ylyg050518/article/details/97671874

2019-07-29

SonarLint 代码检查工具

SonarLint 代码检查工具,IDEA 插件。

2016-11-04

phpMyAdmin使用教程

为初学者提供详细的phpMyAdmin 管理mysql的方法,帮助你快速入门。

2014-05-22

空空如也

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

TA关注的人

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