进击的兔子之Android基础
文章平均质量分 91
rabbit_in_android
这个作者很懒,什么都没留下…
展开
-
Looper、Handler、Message以及消息队列模型
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38377229 ,本文出自【张鸿洋的博客】很多人面试肯定都被问到过,请问Android中的Looper , Handler , Message有什么关系?本篇博客目的首先为大家从源码角度介绍3者关系,然后给出一个容易记忆的结论。1、 概述Handler 、 Lo转载 2015-11-14 21:56:58 · 649 阅读 · 0 评论 -
Android中滑屏实现----手把手教你如何实现触摸滑屏以及Scroller类详解
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+] 转载请注明出处:http://blog.csdn.net/qinjuning转载 2016-01-27 15:23:48 · 488 阅读 · 0 评论 -
Binder详解
目录1. Android为何引入Binder2. 面向对象的 Binder IPC3. Binder通信模型3.1 Binder 驱动3.2 ServiceManager 与实名Binder3.3 Client 获得实名Binder的引用3.4 匿名 Binder4 Binder 协议4.1 BINDER_WRITE_READ:向Bind转载 2015-12-21 20:07:26 · 898 阅读 · 0 评论 -
android事件处理机制
Android提供了两套事件处理机制: 基于监听的事件处理 基于回调的事件处理 基于监听的事件处理,做法就是为Android界面组件绑定特定的事件监听器。基于回调的事件处理,就是重写Android组件特定的回调方法,或者重写Activity的回调方法。Activity为绝大部分界面组件提供了事件响应的回调方法,只要重写他们即可。一般来说,原创 2015-11-26 21:50:08 · 1053 阅读 · 1 评论 -
Handler可能导致的内存泄露及其优化
版权声明:本文为博主原创文章,未经博主允许不得转载。[java] view plaincopypackage cc.cc; import java.lang.ref.WeakReference; import android.os.Bundle; import android.os.Handler; impor转载 2015-12-27 09:57:56 · 469 阅读 · 0 评论 -
怎样退出终止App
1. Dalvik VM的本地方法 android.os.Process.killProcess(android.os.Process.myPid()) //获取PID System.exit(0); //常规java、c#的标准退出法,返回值为0代表正常退出 2. 任务管理器方法 首先要说明该方法运行在Android 1.5 API Lev原创 2016-03-01 15:19:23 · 3584 阅读 · 0 评论 -
View的顶点坐标以及getMeasuredWidth和getWidth
1、View的坐标[java] view plain copy/** * Top position of this view relative to its parent. *相对应父控件的top位置,单位为像素,即头部到父控件的距离 * @return The top of this view, in pixels. */原创 2016-03-02 17:00:35 · 584 阅读 · 0 评论 -
SurfaceView的双缓冲机制
一、首先SurfaceView是双缓冲机制,有front和back,这两个交替显示,每post一次交替一次。二、dirty区域是根据front和back来进行计算的。三、程序没有填充的都算dirty区域有了这几个前提后,自己的问题发现就解决了。首先自己第一、二次点击时,LockCanvas(Rect rect)无效,是因为back没有进行过程序填充,所以和front转载 2016-03-05 11:26:10 · 10259 阅读 · 1 评论 -
为什么Android要增加Binder
在Linux系统中,是以进程为单位分配和管理资源的。出于保护机制,一个进程不能直接访问另一个进程的资源,也就是说,进程之间互相封闭。但是,在一个复杂的应用系统中,通常会使用多个相关的进程来共同完成一项任务,因此要求进程之间必须能够互相通信,从而共享资源和信息。所以,操作系统内核必须提供进程间的通信机制(IPC)。在Linux中,进程间的通信机制有很多种,例如可以采用命名管道(named pipe)原创 2016-03-07 16:41:51 · 473 阅读 · 0 评论 -
Android官方推荐:DialogFragment创建对话框
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/378154131、 概述DialogFragment在android 3.0时被引入。是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话转载 2015-11-24 15:08:56 · 496 阅读 · 0 评论 -
SurfaceView
SurfaceViewView的绘图机制存在如下缺陷:View缺乏双缓冲机制View每次重绘的时候都会绘制所有组件新线程无法直接更新UI组件由于上述的几个缺陷,通过自定义的View来绘图性能底下,Android提供了一个SurfaceView来替代View,在游戏绘图方面表现的更加出色。由于View的绘图必须在当前UI下(这也是使用Handler更新View的原转载 2015-12-21 14:59:47 · 497 阅读 · 0 评论 -
如何使用Log
android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母对应VERBOSE,DEBUG,INFO, WARN,ERROR。1、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("","");2、Log.d的输出颜色是蓝色的,仅转载 2016-01-26 09:54:47 · 354 阅读 · 0 评论 -
Message的参数和方法
public int arg1如果只需要存储几个整型数据,arg1 和 arg2是setData()的低成本替代品。 public int arg2如果只需要存储几个整型数据,arg1 和 arg2是setData()的低成本替代品。 public Object obj发送给接收器的任意对象。当使用Message对象在线程间传递消息时,如果它原创 2016-01-26 09:31:22 · 14834 阅读 · 0 评论 -
Android布局
版权声明:本文为博主原创文章,未经博主允许不得转载。一,LinearLayout(线性布局)中的特有属性,即控件(例如textview或imageview等)在L布局中才有的属性:1,排列方式:orientation=”horizontal横向排列(即控件横着排,一个控件占一列)/vertical纵向排列(即控件竖着排,一个控件占一行)”2,子控件在L布局中的对齐方式:转载 2016-01-23 10:38:47 · 304 阅读 · 0 评论 -
内存泄露及调试
一、内存问题很多时候我们是需要查看自己的应用内存占用情况,比如当出现闪退,异常退出时:1、界面内存占用:比如我们的启动画面,如果出现OOM的问题,这个时候可以通过差看内存情况,如果确是内存占用比较大就可以考虑做相应优化2、内存泄漏的初步查找:这个和直接的OOM有些差别,虽然他最终也会导致OOM。方法:反复打开、关闭可能内存泄漏的界面,如果每次打开关闭之后内存都有所增转载 2015-12-05 09:08:17 · 499 阅读 · 0 评论 -
Android中弱引用与软引用的应用场
如果一个对象只具有软引用,那么如果内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存。软引用可以和一个引用队列(ReferenceQueue)联合使用,如果软引用所引用的对象被垃圾回收,Java虚拟机就会把这个软引用加入到与之关联的引用队列中。如果一个对象只具有弱引用,那么在转载 2016-01-24 17:06:11 · 368 阅读 · 0 评论 -
Android框架
Android架构直观图下图展示了Android系统的主要组成部分: 整体上而言,Android系统结构由5个部分组成,从上到下,别人是Applications (Android应用层)、ApplicationFramework (Android应用程序框架层)、Libraries、Android Run原创 2016-01-25 11:05:35 · 508 阅读 · 0 评论 -
Dalvik虚拟机垃圾收集机制
版权声明:本文为博主原创文章,未经博主允许不得转载。 伴随着“Dalvik is dead,long live Dalvik“这行AOSP代码提交日志,在Android5.0中,ART运行时取代了Dalvik虚拟机。虽然Dalvik虚拟机不再使用,但是它曾经的作用是不可磨灭的。因此,在研究ART运行时的垃圾收集机制之前,先理解Dalvik虚拟机的垃圾收集机制也是很重要和有帮转载 2016-01-25 11:26:11 · 295 阅读 · 0 评论 -
Zygote的启动过程
Launcher启动过程 系统中的应用程序安装好了以后,SystemServer组件接下来就通过ActivityManagerService来启动Home应用程序Launcher了,Launcher在启动的时候便会通过PackageManagerServic把系统中已经安装好的应用程序以快捷图标的形式展示在桌面上,这样用户就可以使用这些应用程序了,转载 2015-12-23 20:34:09 · 457 阅读 · 0 评论 -
Android应用程序在新的进程中启动新的Activity的方法和过程分析
版权声明:本文为博主原创文章,未经博主允许不得转载。 前面我们在分析Activity启动过程的时候,看到同一个应用程序的Activity一般都是在同一个进程中启动,事实上,Activity也可以像Service一样在新的进程中启动,这样,一个应用程序就可以跨越好几个进程了,本文就分析一下在新的进程中启动Activity的方法和过程。 在前面Android转载 2016-01-25 15:21:08 · 3616 阅读 · 1 评论 -
Android应用程序的Activity启动过程简要介绍和学习计划
版权声明:本文为博主原创文章,未经博主允许不得转载。 在Android系统中,Activity和Service是应用程序的核心组件,它们以松藕合的方式组合在一起构成了一个完整的应用程序,这得益于应用程序框架层提供了一套完整的机制来协助应用程序启动这些Activity和Service,以及提供Binder机制帮助它们相互间进行通信。在前面的文章Android进程间通信(IP转载 2016-01-25 15:54:25 · 283 阅读 · 0 评论 -
属性动画详解
问题:给Button加一个动画,让这个Button的宽度从当前宽度增加到500px。也许你会说,这很简单,用渐变动画就可以搞定,我们可以来试试,你能写出来吗?很快你就会恍然大悟,原来渐变动画根本不支持对宽度进行动画啊,没错,渐变动画只支持四种类型:平移(Translate)、旋转(Rotate)、缩放(Scale)、不透明度(Alpha)。当然你用x方向缩放(scaleX)可以让B转载 2016-01-25 19:53:31 · 1890 阅读 · 0 评论 -
Android中的Thread与AsyncTask的区别?
Android 原生的 AsyncTask.java 是对线程池的一个封装,使用其自定义的Executor 来调度线程的执行方式(并发还是串行),并使用 Handler 来完成子线程和主线程数据的共享。预先了解 AsyncTask,必先对线程池有所了解。一般情况下,如果使用子线程去执行一些任务,那么使用 new Thread 的方式会很方便的创建一个线程,如果涉及到主线转载 2016-04-01 09:14:23 · 432 阅读 · 0 评论 -
Binder机制浅析
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]摘要Binder是android中一个很重要且很复杂的概念,它在系统的整体运作中发挥着极其重要的作用,不过本文并不打算从深层次分析Binder机制,有两点原因:1是目前网上已经有2篇很好的文章了,2是对Binder机制进行深入底层乃至驱动的分析这一过程相当困难且相当耗时,因此并不转载 2016-02-23 21:55:32 · 408 阅读 · 0 评论 -
使用SparseArray和ArrayMap代替HashMap
Android内存优化(使用SparseArray和ArrayMap代替HashMap)Android为什么要设计出Bundle而不是直接使用HashMap来进行数据传递?转载 2016-05-06 11:00:16 · 293 阅读 · 0 评论 -
Android知识点以及开发经验
Android开发者网址导航Android开发经验谈-很少有人会告诉你的Android开发基本常识Android相关问题的好文章整理——温故而知新,可以为师矣Android常考知识点原创 2016-05-06 11:04:10 · 282 阅读 · 0 评论 -
ORM
Activeandroid的使用原创 2016-05-06 11:23:25 · 215 阅读 · 0 评论 -
Activity启动过程全解析
【凯子哥带你学Framework】Activity启动过程全解析转载 2016-05-06 11:25:10 · 296 阅读 · 0 评论 -
农民伯伯实用代码段
Android实用代码七段(一)Android实用代码七段(五)转载 2016-04-23 20:42:30 · 593 阅读 · 1 评论 -
Android 深入理解Android中的自定义属性
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/45022631; 本文出自:【张鸿洋的博客】1、引言对于自定义属性,大家肯定都不陌生,遵循以下几步,就可以实现:自定义一个C转载 2016-04-10 09:26:58 · 299 阅读 · 0 评论 -
Android性能优化
Android性能优化转载 2016-04-24 08:51:15 · 178 阅读 · 0 评论 -
RecyclerView以及设置divider
Android RecyclerView 使用完全解析 体验艺术般的控件(设置divider)转载 2016-05-08 20:34:05 · 479 阅读 · 0 评论 -
自定义属性、Style、Theme
Android中Theme和Style的应用Android中自定义属性的使用转载 2016-05-08 20:35:21 · 276 阅读 · 0 评论 -
Android重难点解析——面试中可能被问到的那些问题
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]这篇项目主要介绍Android中的一些重难点概念,也包括面试中可能被问到的经典问题。因为这些知识点比较琐碎,不太适合写成一篇文章,所以采用Github管理,内容会首先在Github更新,这里不定时同步,如果你想第一时间收到通知,请关注Github中的该项目。项转载 2016-05-06 09:47:46 · 316 阅读 · 0 评论 -
关于 Android 进程保活,你所需要知道的一切
关于 Android 进程保活,你所需要知道的一切转载 2016-05-12 09:48:22 · 505 阅读 · 0 评论 -
Android通用流行框架大全
Android通用流行框架大全转载 2016-05-12 09:12:42 · 287 阅读 · 0 评论 -
每个设计师需知的40个设计素材站
很好奇那些在Dribbble、Behance上发表佳作的大神们都是在哪里找素材的么?对,即使是他们也需要优秀素材的支持来完成好作品,今天我们我们来揭秘一下他们的素材来源。这当中有网站,有PSD素材站,有高清图片网站,有搜集UI元素的博客,有视觉稿合集,这些免费的素材就是他们的灵感库。和以往所有的列表一样,他们可能看起来距离“伟大”的设计有点距离,但是设计师不就是用来化腐朽为神奇的么?转载 2016-04-01 16:13:36 · 362 阅读 · 0 评论 -
Android中ListView分页加载数据
版权声明:本文为博主原创文章,转载请注明出处。熟悉Android的朋友们都知道,不管是微博客户端还是新闻客户端,都离不开列表组件,可以说列表组件是Android数据展现方面最重要的组件,我们今天就要讲一讲列表组件ListView加载数据的相关内容。通常来说,一个应用在展现大量数据时,不会将全部的可用数据都呈现给用户,因为这不管对于服务端还是客户端来说都是不小的压力,因此,很多应用都转载 2016-03-30 21:31:13 · 455 阅读 · 0 评论 -
应用被强杀了怎么办
应用在后台运行时很容易被强杀,这很正常,但是回到前台时,很容易出现空指针的情况。怎么解决这样的问题,且看看Stay的见解。我们先跳出来看看android的app运行原理。app在后台被强杀,是在内存不足的情况下被强制释放了,也有一些恶心的rom会强制杀掉那些后台进程以释放缓存以提高所谓的用户体验。我们都觉得android rom很恶心,但同时还是用些更恶心的手法转载 2016-03-29 09:38:25 · 522 阅读 · 0 评论 -
ANDROID内存优化(大汇总——全)
版权声明:本文为博主原创文章,未经博主允许不得转载。转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持!写在最前:本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选转载 2016-04-06 17:04:55 · 314 阅读 · 0 评论