
Android
文章平均质量分 80
hanchendong
这个作者很懒,什么都没留下…
展开
-
Android性能优化(四)之内存优化实战
在上一篇《Android性能优化(三)之内存管理》中我们对Android的内存管理有了一定的认识,本篇文章从实际出发对内存进行优化,主要包含以下部分:1. Memory Leak内存泄漏:对于Java来说,就是new出来的Object 放在Heap上无法被GC回收(内存中存在无法被回收的对象);内存泄漏发生时的主要表现为内存抖动,可用内存慢慢变少。1.1 Memory Mo转载 2017-03-13 16:32:20 · 775 阅读 · 0 评论 -
安卓资料参考网站
工作的过程中使用过的一些网站,留作参考1.代码家的博客,地址:http://blog.daimajia.com/android-library-collection/ 里面提供了很多实用资料2.23code网站,地址:http://www.23code.com/ 里面提供的效果很炫,值得学习下3.http://www.javaapk.com/4.开源转载 2016-08-26 13:04:03 · 581 阅读 · 0 评论 -
shape用法笔记
[html] view plain copy print?span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> 最近做的项目中有用到虚线,在网上查了些资料后总算画了出来,做个笔记供参考span> 因为shape转载 2016-08-26 13:03:10 · 728 阅读 · 0 评论 -
关于环信即时通信的使用小结
因项目中涉及即时通讯的模块,老大跟我说用环信的,所以去熟悉了下后搬到项目中使用,环信文档地址点击打开链接首先应该在AndroidManifest.xml文件中配置环信相关[html] view plain copy print? meta-data android:name="EASEMOB_APPKEY" andro原创 2016-08-26 13:01:25 · 5175 阅读 · 0 评论 -
android studio gradle 配置
android studio gradle 配置 gradle升级更新,有些方法已经过时,在此重新更新一下gradle配置。上代码,先睹为快。一、build.gradle文件apply plugin: 'com.android.application' //设置编译android项目的参数android { compileSdkVersion转载 2016-08-24 12:33:27 · 1367 阅读 · 0 评论 -
onInterceptTouchEvent和onTouchEvent调用时序
onInterceptTouchEvent和onTouchEvent调用时序onInterceptTouchEvent()是ViewGroup的一个方法,目的是在系统向该ViewGroup及其各个childView触发onTouchEvent()之前对相关事件进行一次拦截,Android这么设计的想法也很好理解,由于ViewGroup会包含若干childView,因此需要能够统一监控各种tou原创 2016-08-03 11:26:11 · 262 阅读 · 0 评论 -
Android开发指南-用户界面-事件处理
处理用户界面事件Handling UI Events在Android上,不止一个途径来侦听用户和应用程序之间交互的事件。对于用户界面里的事件,侦听方法就是从与用户交互的特定视图对象截获这些事件。视图类提供了相应的手段。在各种用来组建布局的视图类里面,你可能会注意到一些公共的回调方法看起来对用户界面事件有用。这些方法在该对象的相关动作发生时被Android框架调用。比如,当一个视图(如一个按翻译 2016-08-03 11:25:05 · 611 阅读 · 0 评论 -
seekBar采用handler消息处理操作
本案例简单实现进度条可走,可拖拽的功能,下面请看源码:布局文件:[html] view plain copyRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.c原创 2016-08-03 11:03:08 · 645 阅读 · 0 评论 -
有关Spinner控件的使用说明
下拉列表 Spinner,Spinner是一个每次只能选择所有项的一个项的控件。它的项来自于与之相关联的适配器中。Spinner的使用,可以极大提高用户的体验性。当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来。供用户选择。一、使用数组作为数据源布局文件:[html] view plain copyRelativeL原创 2016-08-03 11:02:20 · 1679 阅读 · 0 评论 -
补间动画(Tween)的实现
补间动画(Tween Animation)补间动画与逐帧动画在本质上是不同的,逐帧动画通过连续播放图片来模拟动画的效果,而补间动画则是通过在两个关键帧之间补充渐变的动画效果来实现的。补间动画的优点是可以节省空间。目前Android应用框架支持的补间动画效果有以下5种。具体实现在android.view.animation类库中。AlphaAnimation:透明度(alpha)渐变转载 2016-08-03 11:00:06 · 414 阅读 · 0 评论 -
百度api集成
主要是百度定位以及附近建筑列表import java.util.ArrayList;import java.util.List;import com.baidu.location.BDLocation;import com.baidu.location.BDLocationListener;import com.baidu.location.LocationClient原创 2016-08-26 13:05:08 · 1288 阅读 · 0 评论 -
Android侧拉框的简单实现
界面很简单 xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal">原创 2016-08-26 13:07:01 · 2587 阅读 · 0 评论 -
百度定位和百度地址搜索
最近在项目中用到百度定位和百度地址搜索,特记下以备以后使用使用的库文件是BaiduLBS_Android.jar 和libBaiduMapSDK_v3_2_0_15.so、liblocSDK5.so,网盘地址http://yun.baidu.com/share/link?shareid=1035048738&uk=2150532712&third=0可以下载首先在and原创 2016-08-26 13:07:57 · 1495 阅读 · 0 评论 -
Android性能优化(三)之内存管理
1、初识内存优化在Android的性能优化的各个部分里,内存的问题绝对是最令人头疼的一部分,虽然Android有垃圾自动回收机制不需要手动干预,但也恰因为此,出现内存问题如内存泄漏和内存溢出等,如果对内存管理机制不熟悉,会更加难以排查问题。因为内存方面的知识较多且不易理解,内存优化部分就分两篇文章进行,本文主要是关于Java、Android的内存分配、回收、GC等理论知识。转载 2017-03-13 16:30:26 · 1811 阅读 · 0 评论 -
Android性能优化(二)之布局优化面面观
一、初识布局优化通过《Android性能优化(一)之启动加速35%》我们获得了闪电般的App启动速度,那么在应用启动完毕之后,UI布局也会对App的性能产生比较大的影响,如果布局写得糟糕,显而易见App的表现不可能流畅。那么本文我同样基于实际案例,针对应用的布局进行优化进而提升App性能。二、60fps VS 16ms根据Google官方出品的Android性能转载 2017-03-13 16:25:54 · 585 阅读 · 0 评论 -
Android性能优化(一)之启动加速35%
一、前言随着项目版本的迭代,App的性能问题会逐渐暴露出来,而好的用户体验与性能表现紧密相关,从本篇文章开始,我将开启一个Android应用性能优化的专题,从理论到实战,从入门到深挖,手把手将性能优化实践到项目中,欢迎持续关注!那么第一篇文章我就从应用的启动优化开始,根据实际案例,打造闪电般的App启动速度。二、初识启动加速来看一下Google官方文档《Launch转载 2017-03-13 16:24:01 · 1548 阅读 · 0 评论 -
MultiDex(三)之异步加载优化
一、前言在上一篇文章《Multidex(二)之Dex预加载优化》中我们提到主进程中直接开启一个子线程执行MultiDex的工作确实可以避免ANR的问题,然而此时主进程中调用到的类,可能会因为SecondaryDex的优化尚未完成或者没有被加入到ClassLoader中而导致画面太美不敢看的ClassNotFoundException。如何是好?明知山有虎,偏往虎山行!本文就带你转载 2017-03-13 16:19:21 · 1695 阅读 · 0 评论 -
Multidex(二)之Dex预加载优化
一、前言在Multidex(一)之源码解析中我们介绍到MultiDex极有可能出现ANR(Application No Response)的问题,秒秒钟卡死我们的应用,用户肯定忍不了要怒卸载啊!作为追(被)求(逼)完(无)美(耐)的程序员哥哥,我们怎能作壁上观?Google不做好的事情,我们就自己扛起来!那么如何对MultiDex这个方案做优化让它变成好同志呢?本文就带你实转载 2017-03-13 16:17:09 · 752 阅读 · 0 评论 -
Multidex(一)之源码解析
一、初识MultiDex开发Android应用的小伙伴,在经历了众多版本迭代、PM不断加入新功能、尝试新技术引入类库之后,产物Apk急剧膨胀;最终会遇到那个传说中的Android64K方法数问题;具体表现:Conversion to Dalvik format failed:Unable to execute dex: method ID not in [0, 0xffff]:转载 2017-03-13 16:14:45 · 879 阅读 · 0 评论 -
如何一步一步实现Android的MVP框架
内容大纲:Android 开发框架的选择如何一步步搭建分层框架使用 RxJava 来解决主线程发出网络请求的问题结语一、Android开发框架的选择由于原生 Android 开发应该已经是一个基础的 MVC 框架,所以在初始开发的时候并没有遇到太多框架上的问题,可是一旦项目规模到了一定的程度,就需要对整个项目的代码结构做一个总体上的规划,最终的目的是使代码可读,维护性好,方转载 2017-03-13 15:58:30 · 12574 阅读 · 1 评论 -
浅谈一种Android客户端架构设计
技术发展日新月异,业界各种Android客户端架构设计,五花八门,但我们不能简单地说哪种架构更好,因为脱离业务谈架构是没有任何意义的,适合业务的才是好架构。而架构也不是一成不变的,随着业务的发展,也许当初设计的架构已不足以支撑目前的业务,那么就需要改变之前的架构。接下来将分享下我们Android客户端的架构设计,在App的某个业务发展阶段或许有一些参考意义。分层化与模块化分层化与模转载 2017-03-13 15:53:25 · 13465 阅读 · 4 评论 -
HttpClient的使用
设置 HTTP 参数[java] view plain copy print?public static HttpClient getHttpClient() { // 创建 HttpParams 以用来设置 HTTP 参数(这一部分不是必需的) httpParams = new Basic原创 2016-08-26 13:10:08 · 601 阅读 · 0 评论 -
Android代码内存优化建议-OnTrimMemory优化01
OnTrimMemory 回调是 Android 4.0 之后提供的一个API,这个 API 是提供给开发者的,它的主要作用是提示开发者在系统内存不足的时候,通过处理部分资源来释放内存,从而避免被 Android 系统杀死。这样应用在下一次启动的时候,速度就会比较快。本文通过问答的方式,从各个方面来讲解 OnTrimMemory 回调的使用过程和效果。想要开发高性能且用户体验良好的 And转载 2016-08-03 10:57:59 · 711 阅读 · 0 评论 -
android 各类常用框架大全(不全)
HTTP网络篇:OkHttp:square出品,必属精品, 详情查看 github地址okhttp-utils: 基于okhttp封装的类,详情查看 github地址Android-async-http:异步http,详情查看 github地址retrofit:Square精品,详情查看 github地址xUtils:这个东西似乎包罗万象,有四个模块,其转载 2016-06-20 14:14:42 · 777 阅读 · 0 评论 -
Android Studio + NDK范例
【本范例所采用的配置】·系统:Windows7 旗舰版,Service Pack 1,32位(最新的NDK已不支持WindowsXP)·JDK(java包):1.7版·Android Studio(制作安卓程序的主要工具):1.4版·SDK(安卓开发工具包):Android Studio 1.4自带的·NDK(原生开发工具包,用来做安卓程序的C/C++部分):用Andr原创 2016-06-12 10:59:58 · 3301 阅读 · 0 评论 -
【记账小助手】项目文档(包含需要用到的知识点)
通过分析需求,得到以下entity : 1) 人 UUID name(姓名) 2) 账本 UUID name(账本名称) birthday (账本创建时间) amount(账本包含的消费数目) totalize(账本总计)3) 类别 UUID name(名称) subType(子类别)4) 消费转载 2016-05-30 20:50:00 · 572 阅读 · 0 评论 -
SectionIndexer中的getSectionForPosition()与getPositionForSection()解惑
大家在做字母索引的时候常常会用到SectionIndexer这个类,里面有2个重要的方法1. getSectionForPosition()通过该项的位置,获得所在分类组的索引号2. getPositionForSection() 根据分类列的索引号获得该序列的首个位置getSectionForPosition(0) 返回 0转载 2016-05-30 20:47:21 · 557 阅读 · 0 评论 -
Android布局概要汇总--注释
================================= * 相对布局 RelativeLayout * 线性布局 LinearLayout * 表格布局 TableLayout * 帧布局 FrameLayout * 网格布局 GridLayout相对布局 RelativeLayout* 停靠父控件边界 alignParentTop 上边原创 2016-05-16 00:00:32 · 616 阅读 · 0 评论 -
Android中利用HttpURLConnection发送Post请求并添加参数的写法
利用HttpURLConnection提交参数的时候,只能使用IO流的方式来进行提交。 URL url = new URL(“http://172.60.50.141:8080/ems/regist.do“); HttpURLConnection connection = (HttpURLConnection) url.openConn原创 2016-05-15 23:54:11 · 7248 阅读 · 2 评论 -
Android小知识集合
显示网页:1. Uri uri = Uri.parse("");2. Intent it = new Intent(Intent.ACTION_VIEWuri);3. startActivity(it);显示地图:1. Uri uri = Uri.parse("geo:38.-77.");2. Intent it = new Intent(Intent.Acti原创 2016-05-28 13:59:59 · 288 阅读 · 0 评论 -
Android中几种适配器的使用方法
简单的说:适配器把一些数据给予封装,用于View上显示。首先看个Android例子import Java.lang.reflect.Field;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import an转载 2016-05-04 13:49:43 · 3949 阅读 · 0 评论 -
Android快速开发,十个最常用的框架
对于Android初学者以及对于我们菜鸟,这些大神们开发的轻量级框架非常有用(更别说开源的了)。 下面转载这10个框架的介绍:(按顺序来吧没有什么排名)。一、 Afinal官方介绍:Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalAct转载 2016-05-04 13:47:50 · 1156 阅读 · 0 评论 -
Genymotion目前速度最快的Android模拟器+ova包
安装注册1.首先访问Genymotion注册页面 https://cloud.genymotion.com/page/customer/login/?next=/2.在注册表格中填写个人信息3.点击注册按钮4.您会收到验证电子邮件,点击验证链接完成注册流程5.您会收到另一封电子邮件,通知您注册已经全部完成下载并安装甲骨文VirtualB原创 2016-05-02 20:29:35 · 9871 阅读 · 2 评论 -
android中线程的应用
android中线程的应用1.相关说明l Android中所有的UI界面、监听器事件的处理都放在一个主线程中(main线程)。Main线程何时启动?Android应用启动时。Android应用程序入口点:ActivityThreadl Android中所有的耗时操作都放在工作线程中。通常将由主线程启动的线程称为工作线程。l 当我们在AndroidUI界面触发一个事件,例如点原创 2016-05-01 21:37:33 · 534 阅读 · 0 评论 -
Android批量加载网络图片存在的问题及简单实现
本片文章介绍ImageLoader的简单实现原理,如何从网络中批量获取图像? 如果解决从网络中获取图像可能产生的内存溢出问题,解决缓存问题.希望能对初学者提供帮助. Android批量加载网络图片存在的问题及简单实现本片文章介绍ImageLoader的简单实现原理,如何从网络中批量获取图像? 如果解决从网络中获取图像可能产生的内存溢出问题,解决缓存问题.希望能对初学者提供帮助. 技术&知识点原创 2016-05-18 19:55:23 · 1726 阅读 · 0 评论 -
自定义适配器<加注释>
/**自定义适配器*/public class SchoolAdapter extends BaseAdapter{private Context context;private int resource;private List list;//仿照arrayAdapter的构造方法public SchoolAdapter(Context context,int resou原创 2016-05-18 21:02:12 · 306 阅读 · 0 评论 -
Android 中的消息模型(Message,MessageQueue,handle,looper,)
1.Android中线程的应用机制? 1)Android 中所有的耗时操作应在工作线程执行。2)Android 中所有的UI操作应该在主线程(UI线程)执行。 FAQ?1)主线程执行执行耗时操作好吗? 不好,这样会阻塞UI操作。2)工作执行完耗时操作,假如有数据要传递给主线程,那如何实现? 2.Android中多线程应用时的消息模型? 使用原创 2016-05-09 19:15:26 · 345 阅读 · 0 评论 -
Android开发的四大组件详解
这个文章主要是讲Android开发的四大组件,本文主要分为一、Activity详解二、Service详解三、Broadcast Receiver详解四、Content Provider详解外加一个重要组件 intent的详解。一、Activity详解Activty的生命周期的也就是它所在进程的生命周期。 一个Activity的原创 2016-05-23 18:59:59 · 744 阅读 · 0 评论 -
Android项目框架搭建 (所需要的资料)
一般需要以下资料1、android-pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新ListView、ViewPager、WevView、ExpandableListView、GridView、(Horizontal)ScrollView、Fragment上下左右拉动刷新,比下面johannilsson那个只支持ListView的强大的多。并且他实现的下原创 2016-05-23 18:35:44 · 325 阅读 · 0 评论 -
Android 最火快速开发框架Android Annotations配置详解
Android 最火的快速开发框架android annotations配置详解文章中有eclipse配置步骤,Android 最火快速开发框架Android Annotations简介文章中的简单介绍,本篇注重讲解Android Annotations中注解方法的使用。@EActivity 示例:@EActivity(R.layout.main)publ原创 2016-05-23 09:17:36 · 414 阅读 · 0 评论