自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 15_Android性能优化

本章是最后一章,主题是Android的性能优化方法和程序设计的一些思想。通过本章的内容,读者可以掌握常见的性能优化方法,这将有助于提高Android程序的性能:另一方面,本章还讲解了Android程序设计的一些思想,这将有助于提高程序的可维护性和扩展性。Android设备作为一种移动设备,不管是内存还是CPU的性能都受到了一定的限制,无法做到像PC设备那样具有超大的内存和高性能的CPU。鉴于这一点...

2018-02-24 18:05:58 304

原创 14_JNI和NDK编程

java JNI的本意是java Native Interface(java本地接口),它是为了方便java调用C、C等本地代码所封装的一层接口。我们知道,java的优点是跨平台,但是作为优点的同时,其在和本地交互的时候就出现了短板。java的跨平台性导致其本地交互的能力不够强大,一些操作系统相关的特性java无法完成,于是提供了JNI专门用于和本地代码交互,这样就增强了java语言的本地交互能力...

2018-02-24 17:19:15 381

原创 13_综和技术

本章介绍的主题在日常开发中使用频率略低,但是对它们有一定的了解仍然是很有必要的。我们知道,不管程序怎么写都很难避免不crash,当程序crash后虽然无法让其再继续运行,但是如果能够知道程序crash的原因,那么就可以修复错误。但是很多时候产品发布后,如果用户使用时发生了crash,这个crash信息是很难获取到的,这非常不利于一个产品的持续发展。其实可以通过CrashHandler来监视应用的c...

2018-02-24 16:15:50 293

原创 12_Bitmap的加载和Cache

本章的主题是Bitmap的加载和Cache,主要包含三个内容。首先讲述如果有效地加载一个Bitmap,这是一个很有意义的话题,由于Bitmap的特殊性以及Android对单个应用所施加的内存限制,比如16MB,这导致加载Bitamp的时候很容易出现内存溢出。java.lang.OutofMemoryError:bitmap size exceeds VM budget因此如何高效地加载Bitmap...

2018-02-11 17:57:54 291

原创 11_Android的线程和线程池

线程在android中是一个很重要的概念,从用途上来说,线程分为主线程和子线程,主线程主要处理和界面相关的事情,而子线程则往往用于执行耗时操作。除了Thread本身以外,在Android中可以扮演线程角色的还有很多,比如AsyncTask和IntentService,同时HandlerThread也是一种特殊的线程,但是它们的本质任然是传统的线程。对于AsyncTask来说,它的底层用到了线程池。...

2018-02-11 16:16:14 250

原创 10_Android的消息机制

从开发的角度来说,Handler是Android消息机制的上层接口,这使得在开发过程中只需要和Handler交互即可。Handler的使用过程很简单,通过它可以轻松地将一个任务切换到Handler所在的线程中去执行。很多人认为Handler的作用是更新UI,这的确没错,但是更新UI仅仅是Handler的一个特殊的使用场景。有时候需要在子线程中进行耗时的I/O操作,可能是读取文件或者访问网络等,当耗...

2018-02-11 14:12:09 195

原创 9_四大组件的工作过程

四大组件分别是Activity、Service、BroadcastReceiver和ContentProvider。首先对四大组件的运行状态和工作方式做一个概括化的描述,接着对四大组件的工作过程进行分析。通过分析它们的工作过程我们可以更好地理解系统内部的运行机制。9.1 四大组件的运行状态android的四大组件中除了BroadcastReceiver以外,其他组件必须在android-Manif...

2018-02-11 10:24:02 431

原创 8_理解Window和WindowManager

Window表示一个窗口的概念,在日常开发中直接接触Window的机会并不多,但是在某些特殊时候我们需要在桌面上显示一个类似悬浮窗的东西,那么这效果就需要用到Window来实现。Window是一个抽象类,它的具体实现是pHoneWindow。创建一个Window是一个很简单的事,只需要通过WindowManager即可完成。WindowManager是外界访问Window的入口,Window的具体...

2018-02-09 14:45:33 291

原创 7_Android动画深入分析

Android的动画可以分为三种:View动画、帧动画和属性动画,其实帧动画也属于View动画的一种,只不过它和平移旋转等常见的View等常见的View动画在表现形式上略有不同而已。View通过对场景里的对象不断做图像变换(平移、缩放、旋转、透明度)从而产生动画效果,是一种渐进式动画,并且View动画支持自定义。帧动画通过顺序播放一系列图像从而产生动画效果,可以简单理解为图片切换动画,很显然,如果...

2018-02-08 15:19:49 301

原创 5_理解RemoteViews

RemoteViews表示的是一个View机构,它可以在其他进程中显示,由于它在其他进程中显示,为了能够更新它的界面,RemoteViews提供了一组基础的操作作用于跨进程更新它的界面。RemoteViews在android中使用场景有两种:通知栏和桌面小部件。 桌面小部件是通过AppWidgetProvider来实现的,AppWidgetProvider本质上是一个广播。通知栏和桌面小工具

2018-02-07 16:11:34 199

原创 4_View的工作原理

View的底层工作原理,比如View的测量,View的绘制,View的布局。除了View的三大流程,View的常见的回调方法也是需要熟练的,比如构造方法,onAttach、onVisibilityChanged、onDetach等。 4.1 初识ViewRoot和DecorView ViewRoot对应于ViewRootImpl类,它是连接WindowManager和DecorView

2018-02-07 11:00:53 299

原创 3_View的事件体系

3.1.1 Veiw的基础知识 什么是View:Android 开发中,Activity承担可视化的功能,同时Android系统提供了很多基础控件,View是Android中所有控件的基类,不管是基础的Button和TextView还是复杂的RelativeLayout和RecycleView,它们共同的基类都是View,View是一种界面层的控件的一种抽象,它代表了一个控件。除了View还

2018-02-06 10:40:23 278

原创 2_IPC进程间通信机制

2.1 AndroidIPC IPC是intent-process-Communication的缩写,跨进程通信或进程间通信。进程和线程是两种不同的概念,线程是cpu调度最小的单元,也是一种有限的系统资源。而进程一般指一个执行单元,在PC和移动设备上指一个程序或者是一个应用。 Android系统会为每个应用分配一个唯一一个的UID,具有相同的UID才能共享数据,两个应用通过ShareU

2018-02-02 14:36:41 369

万能的ViewPagerIndicator 指示器

用画笔来画一个矩形指示器,提升性能很显著,同时带有滑动效果。改变指示器的宽度和高度,封装好指示器和ViewPagerd的联动效果。

2016-04-06

Android-通过自定义ViewPager画廊式中间放大效果

画廊式中间放大效果

2016-03-24

空空如也

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

TA关注的人

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