- 博客(7)
- 资源 (4)
- 收藏
- 关注
原创 Android RelativeLayout和LinearLayout性能分析
LinearLayout和RelativeLayout是Android中最常用的两个布局容器,在分析它们的性能之前,我们先来看一个问题。 为什么使用Android Studio新建一个Blank Activity时默认的layout是RelativeLayout,而不是LinearLayout? 我觉得这是基于性能的考虑,使用 LinearLayout...
2016-05-22 14:32:58 4180 1
原创 贝塞尔曲线在Android中的应用
今天要讲解的内容是Android中贝塞尔曲线的应用。可能很多人对贝塞尔曲线不甚了解,这里先对它的概念做一下简单介绍。 贝塞尔曲线由多个点组成:起始点、终止点以及0到n个相互分离的中间点。根据中间点的不同,可以分为线性贝塞尔曲线、二阶贝塞尔曲线、三阶贝塞尔曲线和高阶贝塞尔曲线。一般的矢量图形软件通过它来精确画出曲线,贝塞尔曲线由线段与节点组成,节点是可拖动的支点,线段像...
2016-05-14 21:25:38 5419 7
原创 Android中用到的设计模式
Android系统使用Java语言进行开发,Android源码中设计模式的使用无处不在,以至于日常的开发中,也会根据不同的情况直接套用相应的设计模式。阅读Android源码的一大乐趣就是可以学习到Google大牛对设计模式的灵活运用。下面就来看一下Android系统都用了哪些常用的设计模式。模板方法模式 这应该是我们在Android开发中接触的比较早的设计模式。新...
2016-05-13 00:00:18 5366 3
原创 Java的Atomic类分析
Atomic包介绍 Java1.5的Atomic包名为java.util.concurrent.atomic。这个包提供了一系列原子类。这些类可以保证多线程环境下,当某个线程在执行atomic的方法时,不会被其他线程打断,而别的线程就像自旋锁一样,一直等到该方法执行完成,才由JVM从等待队列中选择一个线程执行。Atomic类在软件层面上是非阻塞的,它的原子性其实是在硬件层面上借助相...
2016-05-08 18:53:52 12789
原创 你不知道的Bundle
Bundle基本概念 在Android中,Bundle主要用于传递数据,它是以键值对的形式保存数据。我们经常使用Bundle在Activity之间传递数据,数据类型可以是基本类型或它们对应的数组,也可以是对象或对象数组。当Bundle传递的是对象或对象数组时,必须实现Serializable或Parcelable接口。 根据Android的设计,同一应用的Activity可...
2016-05-07 19:28:57 2920 2
原创 Java自旋锁
自旋锁的由来 计算机系统资源总是有限的,有些资源需要互斥访问,因此就有了锁机制,只有获得锁的线程才能访问资源。锁保证了每次只有一个线程可以访问资源。当线程申请一个已经被其他线程占用的锁,就会出现两种情况。一种是没有获得锁的线程会阻塞自己,等到锁被释放后再被唤起,这就是互斥锁;另一种是没有获得锁的线程一直循环在那里看是否该锁的保持者已经释放了锁,这就是自旋锁。 自旋锁的优缺点...
2016-05-05 23:29:16 4399
原创 Android图片适配问题分析
一些重要概念 首先来看一些Android屏幕适配相关的基本概念:屏幕尺寸:单位为英寸(inch),也就是我们常说的手机屏幕是多少寸。这个尺寸指的是屏幕对角线的长度。分辨率:屏幕高和宽的像素数, 现在常见的分辨率有640*480、1280*720、1920*1080。px:像素,显示屏上的一个光点就是一个像素。dp(dip):设备无关像素,Android上特有的一种度...
2016-05-04 21:15:56 4526
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人