自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 收藏
  • 关注

转载 Android性能优化(四)之内存优化实战

在上一篇《Android性能优化(三)之内存管理》中我们对Android的内存管理有了一定的认识,本篇文章从实际出发对内存进行优化,主要包含以下部分:1. Memory Leak内存泄漏:对于Java来说,就是new出来的Object 放在Heap上无法被GC回收(内存中存在无法被回收的对象);内存泄漏发生时的主要表现为内存抖动,可用内存慢慢变少。1.1 Memory Mo

2017-03-13 16:32:20 556

转载 Android性能优化(三)之内存管理

1、初识内存优化在Android的性能优化的各个部分里,内存的问题绝对是最令人头疼的一部分,虽然Android有垃圾自动回收机制不需要手动干预,但也恰因为此,出现内存问题如内存泄漏和内存溢出等,如果对内存管理机制不熟悉,会更加难以排查问题。因为内存方面的知识较多且不易理解,内存优化部分就分两篇文章进行,本文主要是关于Java、Android的内存分配、回收、GC等理论知识。

2017-03-13 16:30:26 1334

转载 Android性能优化(二)之布局优化面面观

一、初识布局优化通过《Android性能优化(一)之启动加速35%》我们获得了闪电般的App启动速度,那么在应用启动完毕之后,UI布局也会对App的性能产生比较大的影响,如果布局写得糟糕,显而易见App的表现不可能流畅。那么本文我同样基于实际案例,针对应用的布局进行优化进而提升App性能。二、60fps VS 16ms根据Google官方出品的Android性能

2017-03-13 16:25:54 500

转载 Android性能优化(一)之启动加速35%

一、前言随着项目版本的迭代,App的性能问题会逐渐暴露出来,而好的用户体验与性能表现紧密相关,从本篇文章开始,我将开启一个Android应用性能优化的专题,从理论到实战,从入门到深挖,手把手将性能优化实践到项目中,欢迎持续关注!那么第一篇文章我就从应用的启动优化开始,根据实际案例,打造闪电般的App启动速度。二、初识启动加速来看一下Google官方文档《Launch

2017-03-13 16:24:01 1402

转载 MultiDex(三)之异步加载优化

一、前言在上一篇文章《Multidex(二)之Dex预加载优化》中我们提到主进程中直接开启一个子线程执行MultiDex的工作确实可以避免ANR的问题,然而此时主进程中调用到的类,可能会因为SecondaryDex的优化尚未完成或者没有被加入到ClassLoader中而导致画面太美不敢看的ClassNotFoundException。如何是好?明知山有虎,偏往虎山行!本文就带你

2017-03-13 16:19:21 1526

转载 Multidex(二)之Dex预加载优化

一、前言在Multidex(一)之源码解析中我们介绍到MultiDex极有可能出现ANR(Application No Response)的问题,秒秒钟卡死我们的应用,用户肯定忍不了要怒卸载啊!作为追(被)求(逼)完(无)美(耐)的程序员哥哥,我们怎能作壁上观?Google不做好的事情,我们就自己扛起来!那么如何对MultiDex这个方案做优化让它变成好同志呢?本文就带你实

2017-03-13 16:17:09 710

转载 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 827

转载 优雅的构建Android项目之RxAndroid+Retrofit网络请求

注意Retrofit 2.0+和Retrofit 2.0之前的版本语法上有差别,本文基于Retrofit2.1.0什么是Retrofit?retrofit是一款针对Android网络请求的开源框架,它与okhttp一样出自Square公司。Rotrofit2.0的网络框架全部交给了okhttp来实现,Android N之后Apache的httpclient已经被Google

2017-03-13 16:05:26 1556

转载 如何一步一步实现Android的MVP框架

内容大纲:Android 开发框架的选择如何一步步搭建分层框架使用 RxJava 来解决主线程发出网络请求的问题结语一、Android开发框架的选择由于原生 Android 开发应该已经是一个基础的 MVC 框架,所以在初始开发的时候并没有遇到太多框架上的问题,可是一旦项目规模到了一定的程度,就需要对整个项目的代码结构做一个总体上的规划,最终的目的是使代码可读,维护性好,方

2017-03-13 15:58:30 11395 1

转载 浅谈一种Android客户端架构设计

技术发展日新月异,业界各种Android客户端架构设计,五花八门,但我们不能简单地说哪种架构更好,因为脱离业务谈架构是没有任何意义的,适合业务的才是好架构。而架构也不是一成不变的,随着业务的发展,也许当初设计的架构已不足以支撑目前的业务,那么就需要改变之前的架构。接下来将分享下我们Android客户端的架构设计,在App的某个业务发展阶段或许有一些参考意义。分层化与模块化分层化与模

2017-03-13 15:53:25 13250 4

原创 HttpClient的使用

设置 HTTP 参数[java] view plain copy print?public static HttpClient getHttpClient() {            // 创建 HttpParams 以用来设置 HTTP 参数(这一部分不是必需的)            httpParams = new Basic

2016-08-26 13:10:08 556

原创 百度定位和百度地址搜索

最近在项目中用到百度定位和百度地址搜索,特记下以备以后使用使用的库文件是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 1456

原创 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 2537

原创 PopupWindow工作笔记

项目设计 中有点击出现如下效果的弹出框显示使用popupWindow来实现  在页面调用[java] view plain copy print?PopuWindowUtil util=new PopuWindowUtil(mBaseContext,top_right_btn);              ut

2016-08-26 13:05:54 419

原创 百度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 1245

转载 安卓资料参考网站

工作的过程中使用过的一些网站,留作参考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 531

转载 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 690

原创 关于环信即时通信的使用小结

因项目中涉及即时通讯的模块,老大跟我说用环信的,所以去熟悉了下后搬到项目中使用,环信文档地址点击打开链接首先应该在AndroidManifest.xml文件中配置环信相关[html] view plain copy print?      meta-data android:name="EASEMOB_APPKEY"  andro

2016-08-26 13:01:25 5124

转载 android studio gradle 配置

android studio gradle 配置        gradle升级更新,有些方法已经过时,在此重新更新一下gradle配置。上代码,先睹为快。一、build.gradle文件apply plugin: 'com.android.application' //设置编译android项目的参数android {  compileSdkVersion 

2016-08-24 12:33:27 774

原创 onInterceptTouchEvent和onTouchEvent调用时序

onInterceptTouchEvent和onTouchEvent调用时序onInterceptTouchEvent()是ViewGroup的一个方法,目的是在系统向该ViewGroup及其各个childView触发onTouchEvent()之前对相关事件进行一次拦截,Android这么设计的想法也很好理解,由于ViewGroup会包含若干childView,因此需要能够统一监控各种tou

2016-08-03 11:26:11 241

翻译 Android开发指南-用户界面-事件处理

处理用户界面事件Handling UI Events在Android上,不止一个途径来侦听用户和应用程序之间交互的事件。对于用户界面里的事件,侦听方法就是从与用户交互的特定视图对象截获这些事件。视图类提供了相应的手段。在各种用来组建布局的视图类里面,你可能会注意到一些公共的回调方法看起来对用户界面事件有用。这些方法在该对象的相关动作发生时被Android框架调用。比如,当一个视图(如一个按

2016-08-03 11:25:05 569

原创 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 617

原创 有关Spinner控件的使用说明

下拉列表 Spinner,Spinner是一个每次只能选择所有项的一个项的控件。它的项来自于与之相关联的适配器中。Spinner的使用,可以极大提高用户的体验性。当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来。供用户选择。一、使用数组作为数据源布局文件:[html] view plain copyRelativeL

2016-08-03 11:02:20 1634

转载 补间动画(Tween)的实现

补间动画(Tween Animation)补间动画与逐帧动画在本质上是不同的,逐帧动画通过连续播放图片来模拟动画的效果,而补间动画则是通过在两个关键帧之间补充渐变的动画效果来实现的。补间动画的优点是可以节省空间。目前Android应用框架支持的补间动画效果有以下5种。具体实现在android.view.animation类库中。AlphaAnimation:透明度(alpha)渐变

2016-08-03 11:00:06 371

转载 Android代码内存优化建议-OnTrimMemory优化01

OnTrimMemory 回调是 Android 4.0 之后提供的一个API,这个 API 是提供给开发者的,它的主要作用是提示开发者在系统内存不足的时候,通过处理部分资源来释放内存,从而避免被 Android 系统杀死。这样应用在下一次启动的时候,速度就会比较快。本文通过问答的方式,从各个方面来讲解 OnTrimMemory 回调的使用过程和效果。想要开发高性能且用户体验良好的 And

2016-08-03 10:57:59 673

转载 android 各类常用框架大全(不全)

HTTP网络篇:OkHttp:square出品,必属精品, 详情查看 github地址okhttp-utils: 基于okhttp封装的类,详情查看 github地址Android-async-http:异步http,详情查看 github地址retrofit:Square精品,详情查看 github地址xUtils:这个东西似乎包罗万象,有四个模块,其

2016-06-20 14:14:42 748

原创 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 3196

原创 Android Studio 和 Eclipse 中获取SHA1详解

Android Studio 和 Eclipse 中获取SHA1详解签名文件keystore一般有两种:jks后缀或者keystore后缀,Android Studio中创建的为jks后缀,keytool创建的为keystore后缀,两种文件均可用于APP打包。开发版SHA1:是指在开发调试时,从Android Studio或者Eclipse中直接运行的APP在打包时使用了开发工具

2016-06-02 19:36:24 3019

转载 【记账小助手】项目文档(包含需要用到的知识点)

通过分析需求,得到以下entity :         1) 人         UUID   name(姓名)  2) 账本     UUID   name(账本名称)  birthday (账本创建时间)   amount(账本包含的消费数目) totalize(账本总计)3) 类别     UUID   name(名称)   subType(子类别)4) 消费    

2016-05-30 20:50:00 527

转载 SectionIndexer中的getSectionForPosition()与getPositionForSection()解惑

大家在做字母索引的时候常常会用到SectionIndexer这个类,里面有2个重要的方法1.   getSectionForPosition()通过该项的位置,获得所在分类组的索引号2. getPositionForSection()       根据分类列的索引号获得该序列的首个位置getSectionForPosition(0) 返回 0

2016-05-30 20:47:21 525

原创 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 261

原创 Android开发的四大组件详解

这个文章主要是讲Android开发的四大组件,本文主要分为一、Activity详解二、Service详解三、Broadcast Receiver详解四、Content Provider详解外加一个重要组件 intent的详解。一、Activity详解Activty的生命周期的也就是它所在进程的生命周期。 一个Activity的

2016-05-23 18:59:59 694

原创 Android项目框架搭建 (所需要的资料)

一般需要以下资料1、android-pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新ListView、ViewPager、WevView、ExpandableListView、GridView、(Horizontal)ScrollView、Fragment上下左右拉动刷新,比下面johannilsson那个只支持ListView的强大的多。并且他实现的下

2016-05-23 18:35:44 294

原创 Android 最火快速开发框架Android Annotations配置详解

Android 最火的快速开发框架android annotations配置详解文章中有eclipse配置步骤,Android 最火快速开发框架Android Annotations简介文章中的简单介绍,本篇注重讲解Android Annotations中注解方法的使用。@EActivity 示例:@EActivity(R.layout.main)publ

2016-05-23 09:17:36 387

原创 Android之Widget (微件、小组件)

1)写布局文件 对于widget的布局文件有限制!不是所有的组件都能够使用的。 容器类视图目前只支持四种:LinearLayout,RelativeLayout,FrameLayout,GridLayout 容器类目前支持的视图组件: AnalogClock 模拟时钟 ChronoMeter 电子时钟、计时器 Button ImageButton TextView ImageVie

2016-05-20 10:42:33 1959

原创 自定义适配器<加注释>

/**自定义适配器*/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 279

原创 Android批量加载网络图片存在的问题及简单实现

本片文章介绍ImageLoader的简单实现原理,如何从网络中批量获取图像? 如果解决从网络中获取图像可能产生的内存溢出问题,解决缓存问题.希望能对初学者提供帮助. Android批量加载网络图片存在的问题及简单实现本片文章介绍ImageLoader的简单实现原理,如何从网络中批量获取图像? 如果解决从网络中获取图像可能产生的内存溢出问题,解决缓存问题.希望能对初学者提供帮助. 技术&知识点

2016-05-18 19:55:23 1679

转载 Java开发中的23种设计模式详解

设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,

2016-05-16 20:08:45 298

转载 3.JAVA中常见的英文

修饰类的修饰符: public[公共的] default[默认的] final [最后的] abstract[抽象的] 特别注意:final或者abstract在修饰类的时候必须放在public或者default的后边修饰方法和变量的修饰符: public[公共的] protected[受保护的] default[默认的] private[私有的]

2016-05-16 00:05:26 536

转载 关于java ee, ide,jms,jmx,jndi等专业术语的全称问题

重点内容 这里张孝祥老师只是大致提了下,我通过搜索资料,在这里把它们一一列出,并把最常用的几个已经背下. API (Application Programming Interface) 应用编程接口 JRE (Java Runtime Environment) Java 运行时环境 JDK (Java Development Kit) Java开发工具包 SDK(Software Deve

2016-05-16 00:04:24 1109

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除