Android
简单极致_李
这个作者很懒,什么都没留下…
展开
-
Android 常用命令行和 源码编译
1.取出 ANR log,分析问题C:\Users\Administrator>adb shellroot@android:/ # cd data/arcd data/ar/system/bin/sh: cd: /data/ar - No such file or directory1|root@android:/ # cd data/anrcd data/anrroo原创 2013-02-28 11:12:11 · 2772 阅读 · 0 评论 -
Android应用性能 分析
其实主要是内存方面,内存管理是个永恒的话题!1.从工具DDMS中,在Sysinfo的tab栏里面有一个Memory usage的选项,通过USB连接Android设备以后很容易抓到图。在图中可以看到系统随时可以用的内存是Free和Buffers两项,因为我抓图的系统只有128M的内存,所以看上去这部分可用内存已经很少了。2.通过Linux的/proc文件系统的meminfo来分析这原创 2013-11-27 12:09:46 · 2023 阅读 · 0 评论 -
提高Android Support Library稳定性的三个关键方法
在Crashlytics,我们经常帮助开发者探索如何建立最稳定应用的方法。抱着这个想法,最近我们开始研究安卓应用崩溃的普遍原因。尤其令我们好奇的是能否在Android Support Library中找到应用崩溃的一些蛛丝马迹,因为这是安卓应用中最广泛使用的Library之一。(貌似是老外写的)在我们分析的一亿个崩溃里,发现大约有4%的崩溃与这个Support Library有关。通过更深原创 2014-11-23 14:59:06 · 1366 阅读 · 0 评论 -
Android事件传递机制
http://blog.csdn.net/sfdev/article/details/9172801原创 2014-03-05 14:58:18 · 1274 阅读 · 1 评论 -
ListView的优化和convertView
引起Android内存泄露有很多种原因,1、构造Adapter时没有使用缓存convertView(衍生出ListView优化问题)2、查询数据库游标没有关闭3、Activity中生命周期对象大于Activity生命周期(关于Application Context与Activity Context)4、Bitmap对象不使用时没有recycle掉(这里还有其他解决方转载 2014-06-29 12:38:09 · 712 阅读 · 0 评论 -
进程间通信 IPC (Binder核心和AIDL)
老罗: http://blog.csdn.net/luoshengyang/article/details/6642463原创 2014-09-27 10:20:39 · 868 阅读 · 0 评论 -
Android中View的绘制
Android中的任何一个布局、任何一个控件其实都是直接或间接继承自View的,如TextView、Button、ImageView、ListView等。这些控件虽然是Android系统本身就提供好的,我们只需要拿过来使用就可以了,但你知道它们是怎样被绘制到屏幕上的吗?多知道一些总是没有坏处的,那么我们赶快进入到本篇文章的正题内容吧。要知道,任何一个视图都不可能凭空突然出现在屏幕上,它们都是要原创 2014-03-10 16:03:19 · 986 阅读 · 0 评论 -
如何给你的Android 安装文件(APK)瘦身
转自:Android的apk文件越来越大了这已经是一个不争的事实。在Android 还是最初版本的时候,一个app的apk文件大小也还只有2 MB左右,到了现在,一个app的apk文件大小已经升级到10MB到20MB这个范围了。apk文件大小的爆炸式增长主要是因为用户对app质量的期待越来越高以及开发者的开发经验增长,具体体现在以下几个方面:Android设备 dpi 的多样化原创 2014-11-17 15:42:40 · 967 阅读 · 0 评论 -
Android五大布局详解及属性
Android的五大布局分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局),09年的时候,我就该总结啊!分享才有意义!下面分别介绍:LinearLayout(最好少用): LinearLayout按照垂直或者水平的顺序依次排列子元素,每一个子原创 2013-08-14 10:56:45 · 1744 阅读 · 0 评论 -
Android自定义控件汇总
http://www.cnblogs.com/bill-joy/archive/2012/04/26/2471831.html原创 2014-10-29 16:09:00 · 645 阅读 · 0 评论 -
Android的bitmap和优化
内存管理是个永恒的话题!1.在Android应用里,最耗费内存的就是图片资源。而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有 8M,如果超出了,就会出现OutOfMemory异常。1) 要及时回收Bitmap的内存Bitmap类有一个方法recycle(),从方法名可以看出意思是回收。这里就有疑问了,Android系统有自己的垃圾回收机制,可原创 2013-12-10 17:35:16 · 3601 阅读 · 0 评论 -
Android数据存储汇总
1.sharedpreference,存储简单的信息,比如用户名,密码原创 2013-07-15 07:25:34 · 1117 阅读 · 0 评论 -
AsyncTask,Handler,Looper
AsyncTask的隐蔽陷阱,先来看一个实例,展示了AsyncTask的一种极端用法。public class AsyncTaskTrapActivity extends Activity { private SimpleAsyncTask asynctask; private Looper myLooper; private TextView s原创 2013-08-19 22:33:35 · 1110 阅读 · 0 评论 -
java 性能杂谈
java 语言中,jvm虽然会自动回收垃圾。但是像数组,对象,最好不用的设置为null;1.先说说数组:byte[] tbytes = new byte[100];,当你不使用的时候,直接tbytes = null;gc会自动回收置为null的对象;或者,直接你可以再加上一句System.gc(), 强制回收; 2.原创 2013-12-09 17:08:24 · 1431 阅读 · 0 评论 -
程序异常捕获一个不留
不管你多么仔细,程序总是会出错,下面方法是个全局的异常捕获方法!希望对大家有帮助!1.用的时候,需要在applicaion里面调用,代码如下:CrashHandler crashHandler = CrashHandler.getInstance(); crashHandler.init(this); 2. 下面是主要的功能类:package com.go原创 2013-08-13 11:37:59 · 1357 阅读 · 0 评论 -
Fragment 详解
Fragment是activity的界面中的一部分或一种行为。你可以把多个Fragment们组合到一个activity中来创建一个多面界面并且你可以在多个activity中重用一个Fragment。你可以把Fragment认为模块化的一段activity,它具有自己的生命周期,接收它自己的事件,并可以在activity运行时被添加或删除。Fragment不能独立存在,它必须嵌入到activit原创 2014-01-22 17:11:00 · 2029 阅读 · 0 评论 -
解决内存溢出(OOM)的思考
java编程中经常容易被忽视,但本身又十分重要的一个问题就是内存使用的问题。Android应用主要使用Java语言编写,因此这个问题也同样会在Android开发中出现。为了能够使得Android应用程序安全且快速的运行,Android的每个应用程序都会使用一个专有的Dalvik虚拟机实例来运行,它是由Zygote服务进程孵化出来的,也就是说每个应用程序都是在属于自己的进程中运行的。一方面,如果程序原创 2013-08-12 23:00:47 · 1904 阅读 · 0 评论 -
android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )屏幕适配
1 Android手机目前常见的分辨率1.1 手机常见分辨率:4:3VGA 640*480 (Video Graphics Array)QVGA 320*240 (Quarter VGA)HVGA 480*320 (Half-size VGA)SVGA 800*600 (Super VGA)5:3WVGA 800*480 (Wide VGA)原创 2014-06-05 13:02:20 · 8710 阅读 · 0 评论 -
volley okhttp universal-image-loader对比分析
一、Volley下载地址: https://github.com/smanikandan14/Volley-demo特点:Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。功能点:JSON,图像等的异步下载网络请求的排序(scheduling)网络请求的优先级处理 缓存多级别取消请求和Activity和生命周期的联动(Acti转载 2015-03-19 16:05:56 · 1223 阅读 · 0 评论 -
Volley异步加载数据和升级
/** * 在本示例中,主要包括: * 1 利用Volley实现Get请求 * 2 利用Volley实现Post请求 * 3 利用Volley实现Json数据请求 * * 1 引入jar包volley.jar */public class MainActivity extends Activity { private RequestQueue mReques转载 2014-08-08 13:07:29 · 903 阅读 · 0 评论 -
Android多线程.断点续传下载
多线程,可断点续传的demo!写于2010.7/** * @brief 主界面 */public class HomeActivity extends Activity {private EditText downloadpathText; private TextView resultView; private原创 2013-08-05 22:49:35 · 1223 阅读 · 0 评论 -
Android 高效加载大图片(缓存机制)
我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状、不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小。比如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高得多。大家应该知道,我们编写的应用程序都是有一定内存限制的,程序占用了过高的内存就容易出现OOM(OutOfMemory)异常。我们可以通过下面原创 2014-01-14 15:49:49 · 1333 阅读 · 0 评论 -
Android开发性能优化大总结
有时间了,我会不段更新!一.Android相关1. 采用硬件加速,在androidmanifest.xml中application添加android:hardwareAccelerated="true"。不过这个需要在android 3.0才可以 使用。android4.0这个选项是默认开启的。2. View中设置缓存属性.setDrawingCache为true.原创 2013-05-24 17:37:20 · 1983 阅读 · 0 评论 -
Android 定位
国内开发者常用到的三种定位方式。它们分别为GPS,百度和高德,惯例先简单介绍下定位的背景知识。什么是GPS定位、基站定位和Wi-Fi定位?1、GPS定位:根据设备GPS芯片和GPS卫星实现定位,GPS定位在室内是不可以使用的。GPS定位精度和芯片本身以及实际使用环境有关,一般情况下,GPS定位精度在10m左右。2、基站定位:根据设备获取的基站信息实现定位,基站定位精度一般不受使用环境影原创 2014-09-17 18:10:50 · 1142 阅读 · 1 评论 -
android开发launcher
1. launcher是桌面应用程序在AndroidManifest.xml里面 添加: 首先将我们的应用程序作为home可参考: http://blog.csdn.net/sljjyy/article/details/11927713原创 2014-06-24 16:54:31 · 955 阅读 · 0 评论 -
如何让service不被杀死
1.在service中重写下面的方法,这个方法有三个返回值, START_STICKY是service被kill掉后自动重写创建@Override public int onStartCommand(Intent intent, int flags, int startId) { return START_STICKY; } @Override原创 2013-12-04 11:49:54 · 3887 阅读 · 2 评论 -
Android 缓存机制续
在用户界面(UI)加载一张图片时很简单,然而,如果你需要加载多张较大的图像,事情就会变得更加复杂,。在许多情况下(如与像的ListView GridView或ViewPager的组件),屏幕上的图片的总数伴随屏幕上滚动的骤然增加,且基本上是无限的。为使内存使用保持在稳定范围内,这些组件会在子view在屏幕中消失后,对其进行资源回收,垃圾回收机制会释放掉已加载的图片内存空间,所以建议你不要保持图片的原创 2013-11-29 18:47:23 · 1944 阅读 · 0 评论 -
Android AsyncTask运作原理和源码分析
自10年大量看源码后,很少看了,抽时间把最新的源码看看!public abstract class AsyncTask { private static final String LOG_TAG = "AsyncTask"; private static final int CORE_POOL_SIZE = 5; private static final i原创 2013-10-12 09:47:34 · 1492 阅读 · 0 评论 -
Android中SimpleAdapter,ArrayAdapter和BaseAdapter详解
这个也是基本功,09年第一次用的时候,还是出了不少问题!熟悉了就好了!祝你好运!1.SimpleAdapter(很多时候需要继承它,来自定义adapter):simpleAdapter的扩展性最好,可以定义各种各样的布局出来,可以放上ImageView(图片)等。可以显示比较复杂的列表,包括每行显示图片、文字等,但不能对列表进行后期加工(在java代码中加工),也是只是单纯的负责显示原创 2013-08-14 14:40:58 · 2747 阅读 · 0 评论 -
Android不用的权限别乱加
访问登记属性android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限获取错略位置android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米获取精确位置原创 2013-08-13 17:23:34 · 1401 阅读 · 0 评论 -
Android 系统架构分析
Android:开源的 Linux + Google 的封闭软件 + 私有的基带 + 运营商锁定 = 开放的 Android 手机iPhone:开源的 BSD + 苹果的闭源软件 + 私有的基带 + 运营商锁定 = 封闭的苹果 iPhoneAndroid:正义!一个平庸的应用商店,开发者依靠广告赚钱,商店并非独此一家,用户找不到好软件。(开发者只需一次性支付25美金)iPhone:原创 2013-08-12 23:14:05 · 1689 阅读 · 0 评论 -
Android 性能核心揭密
其实我发现不少人不注重性能的开发,这样产品体验会很差的!好吧,一起来看下吧!移动互联网是用户体验为王的时代,而排在影响用户体验的问题如快速、流畅、省电等,都与研发优化直接相关。推荐使用traceview和monkey等工具来测试应用,利用layoutopt和ninepatch等工具优化视图,建议开发者注重代码复用,做好应用分析最大化利用第三方工具。移动开发者一定要精通一门服务器端语言及框架原创 2013-08-03 23:04:44 · 1609 阅读 · 1 评论 -
内存溢出和泄漏
内存泄漏,指申请的内存不会被回收了; 内存溢出,指系统内存不够用了一.Android加载大图片内存溢出的问题总结尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。原创 2013-05-24 22:20:41 · 1543 阅读 · 1 评论 -
通过XMPP协议实现推送信息
先基于xmpp搞个简单demo,后期 推出 类似于新浪微博和网易新闻的推送功能!推送方法大概有三种:1.客户端定时去服务端取或者保持一个长Socket,从本质讲这个不叫推送,这是去服务端拽数据。但是实现简单,主要缺点:耗电等2.Google的C2DM,具体不细说,缺点,服务器在国外,你懂得,不是很稳定。3.XMPP协议,它是一种基于XML的传递协议,具有很强的灵活性和可扩展性。它的原创 2013-05-31 13:49:06 · 1432 阅读 · 0 评论 -
Android 升级版本 如何保存旧数据
首先只有不卸载应用,数据库就会存在!一.数据库升级: 在我们的程序中,或多或少都会涉及到数据库,使用数据库必定会涉及到数据库的升级,数据库升级带来的一些问题,如旧版本数据库的数据记录的保持,对新表的字段的添加等等一系列问题,还记得当我来西安的时候,面试的第二家公司,做音乐播放客户端的,就问到了这个问题; 我们开发了一个程序,当前是1.0版本。该程序用到了数据库。到1.1版本时,在数原创 2013-12-04 14:45:31 · 2649 阅读 · 0 评论 -
做牛叉应用需要注意
一、网络开发技能 开发的应用肯定会联网,在移动互联网时代,单机应用会越来越少。如果我们开发的应用缺少与服务器的交互,内容上不会丰富,更有可能的是我们无法控制到应用,得不到用户及用户反馈。网络连接中用的最多的无非是Http或者Tcp。Android中http使用提供了三个包,我们常用的是HttpClient、HttpURLConnection。网络上也有对http的封装包,例如volley原创 2014-01-17 15:40:50 · 1190 阅读 · 0 评论 -
android 获取进程、服务、任务列表
获取进程列表,需使用ActivityManager中的方法获取进程名;再根据进程名,获取应用程序的ApplicationInfo对象;用ApplicationInfo中的方法为进程加载图标和程序名称。获取服务、任务列表方法同上。 1 实例化ActivityManager12private ActivityManager mActivi转载 2014-02-28 13:58:23 · 2941 阅读 · 0 评论 -
Ant打包Android代码生成apk文件
可参考以下,实现一套代码不同渠道的打包http://blog.csdn.net/liuhe688/article/details/6679879http://cnn237111.blog.51cto.com/2359144/1130502http://www.cnblogs.com/hoojo/p/ant_increment_svn_diff_diffsummarize.html原创 2014-10-24 14:06:16 · 849 阅读 · 0 评论 -
Android 缓存机制代码(软引用)
package com.google.softreference;//软引用加载图片,防止内存溢出public class ImageSoftReference {private Object lock = new Object();private boolean mAllowLoad = true;//是否第一次加载private boolean firstLoad =原创 2013-08-08 16:57:06 · 1451 阅读 · 0 评论 -
Android布局优化
1.include减少多余通用布局,实现具体点击可以抽成通用的! android:layout_width="fill_parent" android:layout_height="@dimen/comm_title_height" layout="@layout/titlebar_download" />2)文件titlebar_downlo原创 2014-01-14 15:35:47 · 1071 阅读 · 0 评论