android 基础加强
Bee大前端
更好的生活需要你更多的知识来铺垫!
展开
-
android 双缓冲分析一些基本的原理
当数据量很大时,绘图可能需要几秒钟甚至更长的时间,而且有时还会出现闪烁现象,为了解决这些问题,可采用双缓冲技术来绘图。 双缓冲即在内存中创建一个与屏幕绘图区域一致的对象,先将图形绘制到内存中的这个对象上,再一次性将这个对象上的图形拷贝到屏幕上,这样能大大加快绘图的速度。双缓冲实现过程如下: 1、在内存中创建与画布一致的缓冲区 2、在缓冲区画图 3、将缓冲区位图拷贝到当前画布上原创 2015-12-27 19:19:28 · 1311 阅读 · 0 评论 -
我见过的最容易理解的事件传递的例子
跟touch事件相关的3个方法: public boolean dispatchTouchEvent(MotionEvent ev); //用来分派event public boolean onInterceptTouchEvent(MotionEvent ev); //用来拦截event public boolean onTouchEvent(MotionEvent转载 2014-12-11 17:03:01 · 961 阅读 · 0 评论 -
两分钟彻底让你明白Android中onInterceptTouchEvent与onTouchEvent(图文)!
Hi,大家好,今天给大家分享一下Android中onInterceptTouchEvent与onTouchEvent,,记得楼主以前刚开始找工作的时候,被人问了关于Android中事件传递,当时还是菜鸟一枚,当然答不上来,被人无情的BS了。好了言归正传讲重点. onInterceptTouchEvent: onInterceptTouchEvent是在ViewGroup里面定义的。An转载 2014-11-18 15:09:11 · 402 阅读 · 0 评论 -
Android高效加载大图、多图解决方案,有效避免程序OOM流程
比如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高得多。大家应该知道,我们编写的应用程序都是有一定内存限制的,程序占用了过高的内存就容易出现OOM(OutOfMemory)异常。 我们可以通过下面的代码看出每个应用程序最高可用内存是多少。 int maxMemory = (int) (Runtime.getRuntime().maxMemor转载 2015-05-12 11:06:09 · 460 阅读 · 0 评论 -
Android内存泄漏
不少人认为JAVA程序,因为有垃圾回收机制,应该没有内存泄露。 其实如果我们一个程序中,已经不再使用某个对象,但是因为仍然有引用指向它,垃圾回收器就无法回收它,当然该对象占用的内存就无法被使用,这就造成了内存泄露。如果我们的java运行很久,而这种内存泄露不断的发生,最后就没内存可用了。当然java的,内存泄漏和C/C++是不一样的。如果java程序完全结束后,它所有的对象就都不可达了,系统转载 2015-05-12 11:56:04 · 372 阅读 · 0 评论 -
Android的手势操作识别
本文转载至:http://jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1020/448.html转载 2014-11-18 13:38:06 · 443 阅读 · 0 评论 -
Handler想到的
Handler我们经常使用,handler的消息机制更是差不多面试时的必问考点,今天我们来讨论一下handler的内存泄露问题,这个问题也算是老生常谈了。 public class MainActivity extends Activity { private final MyHandler myHandler=new MyHandler(this); private原创 2016-04-25 22:42:12 · 347 阅读 · 0 评论 -
LayoutInflater inflate探究
下面这个方法,我们应该经常使用吧,加载布局文件的LayoutInflater.from(context).inflate(int resource, ViewGroup root, boolean attachToRoot) 虽然我们经常使用吧,但是有时候还是有些迷惑的,今天带大家一同探究一下,加深下记忆看源码:我们先找到这里 public View inflate(int resource,原创 2015-11-14 23:35:06 · 416 阅读 · 0 评论 -
Android targetSdkVersion
概述Android开发的应该都见过compileSdkVersion、minSdkVersion 以及 targetSdkVersion。compileSdkVersion和minSdkVersion比较好理解,前者表示编译的SDK版本,后者是最低适配的SDK版本。对于targetSdkVersion,字面的意思是目标SDK版本,但是它不仅仅是目标SDK字面意思这么简单。很难一句话说清楚。原文中用了翻译 2016-12-02 14:59:09 · 1591 阅读 · 0 评论 -
Radiobutton 设置drawtop图片大小
首先从资源文件中获取图片资源 //获取资源文件图片,设置大小 public static Bitmap getMyBitmap(Context context, int id,int w, int h){ Bitmap oldbmp = BitmapFactory.decodeResource(context.getResources(), id); ...原创 2014-12-26 11:10:31 · 3496 阅读 · 0 评论 -
android动画总结
文章大部分内容来自【工匠若水 http://blog.csdn.net/yanbober 1、动画的分类 视图动画(View Animation) 视图动画在古老的Android版本系统中就已经提供了,只能被用来设置View的动画。 帧动画、Frame 动画(Drawable Animation) 这种动画其实可以划分到视图动画的类别,专门用来一个一个的显示Drawable的resources,转载 2015-11-03 15:10:54 · 439 阅读 · 0 评论 -
android matrix
Matrix,中文里叫矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放、平移、旋转等操作。 首先介绍一下矩阵运算。加法和减法就不用说了,太简单了,对应位相加就好。图像处理,主要用到的是乘法。下面是一个乘法的公式: 在Android里面,Matrix由9个float值构成,是一个3*3的矩阵。如下图。转载 2015-06-01 15:53:32 · 437 阅读 · 0 评论 -
Android 中对于图片的内存优化方法
1. 对图片本身进行操作 尽量不要使用 setImageBitmap、setImageResource、 BitmapFactory.decodeResource 来设置一张大图,因为这些方法在完成 decode 后,最终都是通过 Java 层的 createBitmap 来完成的,需要消耗更多内存。因此,改用先通过 BitmapFactory.decodeStream 方法,创建出一个 b转载 2015-05-12 11:59:13 · 367 阅读 · 0 评论 -
Android并发编程线程间通信的三种基本方式
1. 使用管道流Pipes “管道”是java.io包的一部分。它是Java的特性,而不是Android特有的。一条“管道”为两个线程建立一个单向的通道。生产者负责写数据,消费者负责读取数据。 下面是一个使用管道流进行通信的例子。 public class PipeExampleActivity extends Activity { private static fin转载 2015-03-14 16:17:30 · 3282 阅读 · 0 评论 -
android onTouch和手势基础详解
onTouch事件 做什么都好先了解原理以后的工作就会更简单,关于手势以及我们熟悉的onclick, onLongClick事件都是基于对onTouch事件的捕捉和处理。那么在使用手势工具类的前提下我们应该去学习了解基本的onTouch事件。onTouch常用的以下4个事件:1、ACTION_DOWN: 表示按下了屏幕,第一个执行也是必然执行的方法。2、ACTION_MOVE: 表示为移动手原创 2015-08-13 18:24:52 · 1789 阅读 · 0 评论 -
Android中Touch事件的处理逻辑
android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解。 一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN->ACTION_MOVE->ACTION_MOVE->ACTION_MOVE...->ACTION_MOVE->ACTION_UP 当屏幕中包含一个ViewGroup转载 2014-11-18 18:00:10 · 464 阅读 · 0 评论 -
总结五种更新UI的方法
方法一:Handler 子线程调用Handler的sendMessage(message)发送事件。 new Thread(new Runnable() { @Override public void run() { Message ms = new Message(); ms.what = 1; handler.sendMess原创 2015-03-14 17:40:00 · 484 阅读 · 0 评论 -
android是如何加载资源图片的
每个drawable文件夹加载顺序是什么? 图片是如何缩放的? (这边只讨论加载图片,不考虑布局对图片的拉伸) OK!今天就先搞这2个问题 废话不多说 直接上代码 public Drawable getDrawable(int id) throws NotFoundException { TypedValue value; syn转载 2015-05-12 10:25:14 · 394 阅读 · 0 评论 -
Android消息机制
基础介绍 异步消息处理线程是指,线程在启动后会进入一个无线循环体中,没循环一次,从内部的消息队列中取出一个一个消息,并回调相应的消息处理函数,执行完一个消息后则继续循环。如果消息队列为空,线程会暂停,知道消息队列中有新的消息。 异步消息处理线程本质上仍然是一个线程,只不过这种线程的执行代码设置成如上所述的逻辑而已。在android中实现异步线程主要涉及到如下几个类:ThreadLoca原创 2015-06-03 14:11:15 · 425 阅读 · 0 评论