- 博客(20)
- 收藏
- 关注
原创 Android性能优化
主要介绍一些常用的性能优化方法1.布局优化布局优化的主要思想就是尽量减少布局文件的层级。布局文件层级少了,Android绘制工作量少了,程序性能也就提高了。首先删除不居中无用的层级和控件,其次有选择的使用性能较低的ViewGroup,比如RelativeLayout。如果布局中既可以使用LinearLayout也可以使用RelativeLayout,那么就采用LinearLayout。
2017-07-27 18:51:03 194
原创 View的滑动冲突
1.外部拦截法是指事件都要经过父容器的拦截处理,如果父容器需要此事件就拦截,如果不需要此事件就不拦截,这样就可以解决滑动冲突问题,这种方法比较符合点击事件的分发机制。外部拦截法需要重写父容器的InterceptTouchEvent方法,在内部做出相应的拦截即可。2.内部拦截法是指父容器不拦截任何事件,所有的事件都交给子View来处理,如果子View需要此事件就直接消耗掉,否则交由父容器
2017-07-18 15:41:26 243
原创 View的事件分发机制
View的点击分发过程由下面三种方法完成public boolean dispatchTouchEvent(MotionEvent ev)用来进行事件的分发。如果事件能够传递给当前View,那么此方法一定会被调用,返回结果受当前View的onTouchEvent和下级View的dispatchTouchEvent方法的影响。表示是否消耗当前事件。public boolean onInt
2017-07-17 18:30:19 245
原创 View滑动对比
View的滑动可以用三种方法实现:1.使用ScrollTo/ScrollBy方法,是View提供的原生方法,其作用是专门用于View的滑动,它可以较方便的实现View的滑动并其不影响View的内部点击事件,但它只能滑动View的内容并不能滑动View本身。2.使用动画实现,Android3.0以上使用属性动画没有任何问题,但是如果使用View动画或者在Android3.0以下使用属性动画均
2017-07-17 17:35:42 256
原创 Android启动模式
1.standard:标准模式,也是系统的默认模式。每次启动Activity都会创建一个新的实例,不管这个实例是否存在。2.singleTop:栈顶复用模式。在这种模式下,如果新Activity已经位于新任务栈的栈顶,那么此Activity就不会被创建,同时它的onNewIntent方法会被回调,通过此方法的参数我们可以取出当前请求的信息。3.singleTask:栈内复用模式。这是一种单
2017-07-07 16:07:40 167
原创 Android性能优化
1.布局优化a.使用标签重用Layoutb.使用实现View的延时加载是一个非常轻量级的组件,它不仅不可视,而且大小为 0。通过setVisiable()或inflate()方法来显示,inflate()可以显示引用的布局并通过findViewById()方法得到里面的控件。只用显示的时候才会去渲染整个布局,相比GONE更有效率。2.内存优化a.Bitmap优化Bitmap
2017-07-06 16:48:35 167
原创 Android安全机制
Android安全机制1.代码安全机制——代码混淆proguard通过代码混淆来防止别人反编译自己的apk2.应用接入权限控制——AndroidMenifest.xml文件权限声明,权限检查Android应用程序想要使用受限的资源时都需要向系统声明所需要的权限,3.应用签名机制——数字证书Android中所以的app都有一个数字签名,用于保护app的作者对其app的信任关系
2017-07-06 15:05:40 266
原创 android 帧动画,补间动画,属性动画区别
1.帧动画——FrameAnimation将一系列图片有序播放,形成动画的效果。其本质是一个Drawable,是一系列图片的集合,本身可以当做一个图片一样使用在Drawable文件夹下,创建animation-list为根节点的资源文件。animation-list android:oneshot="false"> item android:drawable="@drawa
2017-07-04 17:35:10 920
原创 ListView优化技巧
1.使用ViewHolder模式提高效率ViewHolder模式充分利用了ListView的视图缓存机制,避免每次调用getView()时都去通过findViewById()实例化控件。ViewHolder能提高50%以上效率。2.实现滑动隐藏和显示标题栏通过监听onTouchListener接口来监听ListView 的滑动,通过比较与上次坐标的大小来判断滑动方向,并通过滑动方向来判
2017-07-03 16:58:43 171
转载 自定义控件View
自定义View的步骤:1.自定义View的属性2.在View的构造方法中获得我们自定义的属性3.重写onMesure()方法进行view的测量4.重写onDraw()方法进行绘制1、自定义View的属性,首先在res/values/ 下建立一个attrs.xml , 在里面定义我们的属性和声明我们的整个样式。xml version="1.0" enco
2017-06-30 16:07:26 188
原创 Android 多线程
为防止应用ANR使用多线程技术在主线程中更新数据new Thread(new Runnable() { public void run() { Message msg = new Message(); msg.obj = "ddd"; myHandler.sendMessage(msg); } }).start();private Handler my
2016-02-23 15:08:19 300
转载 android ANR产生原因和解决办法
ANR (Application Not Responding) ANR定义:在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。所以一个流畅的合理的应用程序中不能出现anr,而让用户
2016-01-11 12:00:00 294
转载 android Service总结
1.Service分类:按运行地点分类:类别区别 优点缺点 应用本地服务(Local)该服务依附在主进程上, 服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另外Local服务因为是在同一进程因此不需要IPC,也不需要AIDL。相应bindService会方便很多。 主进程被K
2016-01-11 11:34:47 262
转载 android中图片的三级缓存cache策略(内存/文件/网络)
转自:http://www.jb51.net/article/38162.htm实现图片缓存也不难,需要有相应的cache策略。这里我采用 内存-文件-网络 三层cache机制,其中内存缓存包括强引用缓存和软引用缓存(SoftReference),其实网络不算cache,这里姑且也把它划到缓存的层次结构中1.简介 现在android应用中不可避免的要使用图片,有些图片是可以
2015-04-22 16:52:02 398
转载 java.lang.IllegalStateException: The content of the adapter has changed but ListView...的问题
本文转自:http://gundumw100.iteye.com/blog/1738829在Android编程中使用Adapter时,偶尔会出现如下错误: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adap
2015-04-15 14:08:28 606
原创 手机连不上eclipse
在进行android开发时,有时候会很奇怪,手机连不上eclipse了,打开eclipse的ddms也没有,重启adb也不行,这时候我们应该怎么办呢。首先打开资源管理器,找到 adb.exe 结束掉进程如果还不能解决问题,看看是否打开了下列软件1、豌豆荚 2、腾讯管家 3、91手机助手等等第三方的软件 关掉他们,因为他们占用了eclipse调试的adb接口
2015-04-15 12:11:26 444
转载 Java 设计模式—单例模式
单例模式(Singleton)单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可
2015-04-13 18:47:49 301
转载 Java 设计模式—工厂模式
本文引用:http://zz563143188.iteye.com/blog/1847029设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代
2015-04-13 17:43:07 376
转载 Android Intent Parcelable接口传递对象遇到的问题
Android Intent Parcelable接口传递对象遇到的问题
2015-04-13 14:59:27 2271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人