随笔分类 -  【android--性能优化】

摘要:1,及时回收bitmap,在activity的onstop()和onDestory()里面调用如下代码进行bitmap的回收:// 先判断是否已经回收if(bitmap != null && !bitmap.isRecycled()){ // 回收并且置为null bi... 阅读全文
posted @ 2015-09-03 21:55 西北野狼 编辑
摘要:首先,虽然大家都知道,还是提一下,利用好 convertView 来重用 View,切忌每次 getView() 都新建。ListView 的核心原理就是重用 View。ListView 中有一个回收器,Item 滑出界面的时候 View 会回收到这里,需要显示新的 Item 的时候,就尽量重用回收... 阅读全文
posted @ 2015-09-03 09:45 西北野狼 编辑
摘要:RelativeLayout Vs LineLayout尽可能的使用RelativeLayout,不要使用绝对布局AbsoluteLayout,在布局层次一样的情况下,建议使用LineLayout代替RelativeLayout,因为LineLayout性能要稍高一点,但往往RelativeLayo... 阅读全文
posted @ 2015-08-02 20:44 西北野狼 编辑
摘要:一般不优化的adapter通常继承自BaseAdapter会出现一下几个问题:getCount(), getItem(), getItemId()代码都要去重写,一个adapter还行,如果adapter越来越多的话,每个adapter都这么写就超级恶心了。就是getview里面if else 对c... 阅读全文
posted @ 2015-07-29 09:49 西北野狼 编辑
摘要:避免在循环中使用内存也可理解为在循环中尽可能少创建对象,自定义控件避免在ondraw里面频繁创建paint对象。尽可能避免内存分配对象缓存:常量通过类级别或者静态来进行缓存。对象池:同一种类型的多种对象,考虑使用对象池而不是分配频繁的分配内存。(不是很理解,还需深入学习)使用ArrayList.an... 阅读全文
posted @ 2015-06-14 15:47 西北野狼 编辑
摘要:在 proguard 文件中加入下面代码,让发布时去掉 debug 和 提醒日志,简单无侵入! -assumenosideeffects class android.util.Log { public static *** d(...); public static *** v(...); } 阅读全文
posted @ 2014-11-04 09:06 西北野狼 编辑
摘要:刚入门的童鞋肯能都会有一个疑问,Java不是有虚拟机了么,内存会自动化管理,我们就不必要手动的释放资源了,反正系统会给我们完成。其实Java中没有指针的概念,但是指针的使用方式依然存在,一味的依赖系统的gc,很容易就造成了内存的浪费。Java基于垃圾回收的内存机制Java的内存管理机制会自动回收无用... 阅读全文
posted @ 2014-05-26 23:12 西北野狼 编辑
摘要:0:前言在android开发中,当使用别人的代码的时候,在style.xml中有此种错误1:解决方案删除*星号 阅读全文
posted @ 2014-05-19 10:33 西北野狼 编辑
摘要:问题:android:editable is deprecated: Use an to make it editable意思:Android的:编辑是反对:使用EditText>对其编辑 分析:关于EditText控件的read-only问题,即: 无法通过UI更改其中的内容, 但可以选定部分内容... 阅读全文
posted @ 2014-05-19 10:21 西北野狼 编辑
摘要:在写Android的XML布局文件时,在ImageView或ImageButton中经常会碰到一个提示:Missing contentDescription attribute on image.这个属性是做什么的呢?其实这个属性是方便一些生理功能有缺陷的人使用应用程序的。比如我们有一个ImageV... 阅读全文
posted @ 2014-05-19 10:20 西北野狼 编辑
摘要:看看stackoverflow给出的办法: 直接将“-”符号替换为“–” (不含双引号). 阅读全文
posted @ 2014-05-19 10:19 西北野狼 编辑
摘要:在Froyo(android 2.2,API Level:8)中引入了android:installLocation.通过设置该属性可以使得开发者以及用户决定程序的安装位置.android:installLocation隶属于AndroidManifest.XML中的manifest节点.如下所示:... 阅读全文
posted @ 2014-04-25 13:46 西北野狼 编辑
摘要: 阅读全文
posted @ 2014-04-24 10:59 西北野狼 编辑
摘要:java代码:import com.example.test.Test1.R;import android.app.Activity;import android.os.Bundle;import android.widget.ListView;public class He... 阅读全文
posted @ 2014-04-24 10:51 西北野狼 编辑
摘要:好久没更新博客了,趁着清明来写点什么。 今天来讲下如何使用android中提供的工具优化我们的布局。首先我们写一个最简单的框架布局。 非常简单的一个布局,实现一个层叠的效果,运行效果如下图:下面我们就用android中提供的一个观察布局的工具,层级观察器,Hierarchy Viewer来观... 阅读全文
posted @ 2014-04-23 16:53 西北野狼 编辑
摘要:可以使用 ProGuard 完全地删除任何在发布版中无用的语句,关于 ProGuard 参见:http://developer.android.com/guide/developing/tools/proguard.html例如,要大块的删除 log.d ,log.v ,log.i 等日志输出的语句... 阅读全文
posted @ 2014-04-23 16:29 西北野狼 编辑
摘要:1、抽象布局标签(1) 标签include标签常用于将布局中的公共部分提取出来供其他layout共用,以实现布局模块化,这在布局编写方便提供了大大的便利。下面以在一个布局main.xml中用include引入另一个布局foot.xml为例。main.mxl代码如下:Java 1234567891011121314其中include引入的foot.xml为公用的页面底部,代码如下:Java 12345678910111213141516171819标签唯一需要的属性是layout属性,指定需要包含的布局文件。可以定义android:id和android:layout_... 阅读全文
posted @ 2014-01-13 13:12 西北野狼 编辑
摘要:1.在开始使用TraceView你要注意: 你的设备和模拟器必须设置SD card 和 你的程序拥有对SD card 具有读写操作的权限()2.在你的程序中使用TraceView在activity中的oncreate()中加入Java代码 Debug.startMethodTracing("mytrace");在onpause()加入Java代码 Debug.stopMethodTracing();1// 开始跟踪然后自动保存到 "/sdcard/mytrace.trace" 2Debug.startMethodTracingmytrace") 阅读全文
posted @ 2014-01-13 11:38 西北野狼 编辑
摘要:Android性能调优本文主要分享自己在appstore项目中的性能调优点,包括同步改异步、缓存、Layout优化、数据库优化、算法优化、延迟执行等。性能优化专题已完成五部分:性能优化总纲——性能问题及性能调优方式性能优化第三篇——Java(Android)代码优化性能优化第二篇——布局优化性能优化第一篇——数据库性能优化性能优化实例一、性能瓶颈点整个页面主要由6个Page的ViewPager,每个Page为一个GridView,GridView一屏大概显示4*4的item信息(本文最后有附图)。由于网络数据获取较多且随时需要保持页面内app下载进度及状态,所以出现以下性能问题a. ViewP 阅读全文
posted @ 2014-01-11 14:59 西北野狼 编辑