Android技术资料
文章平均质量分 87
对自己好点
对自己好点一辈子不长对身边的人好点下辈子不一定再相见
展开
-
BSSID,SSID,ESSID区别
BSSID,SSID,ESSID区别SSID(Service Set Identifier) AP唯一的ID码,用来区分不同的网络,最多可以有32个字符,无线终端和AP的SSID必须相同方可通信。无线网卡设置了不同的SSID就可以进入不同网络,SSID通常由AP广播出来,通过XP自带的扫描功能可以相看当前区域内的SSID。出于安全考虑可以不广播SSID,此时用户就要手工设置S转载 2013-08-24 18:01:09 · 1302 阅读 · 0 评论 -
AsyncChannel.java(WiFiDirect的channel相关)
/*** * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.转载 2013-09-04 23:18:19 · 804 阅读 · 0 评论 -
Android AsyncChannel源码分析
分类: 【Android 系统分析】2013-09-04 20:16 50人阅读 评论(0) 收藏 举报AndroidAsyncChannelSyncMessenger目录(?)[+]AsyncChannel类用于处理两个Handler之间的异步消息传递,消息传递的Handler可以出于同一进程,也可以处于不同进程,不同进程之间的Handler消息传递使用Andro转载 2013-09-04 23:18:41 · 1052 阅读 · 0 评论 -
Android平台Wifi_Direct使用
Wifi_Direct是目前设备间最快的无线数据连接方式,速度可以达到40Mb/s。Google从Android 4.0(ICS)开始支持Wifi_Direct,而三星则更早些就在它自己的设备上支持了Wifi_Direct。几年来,Wifi_Direct的发展一直不温不火,但是目前市面上支持Wifi_Direct的设备并不是很多。 从目前接触过得设备来看,三星I9100的Wi转载 2013-09-04 23:50:53 · 2346 阅读 · 0 评论 -
Android Wi-Fi Direct 开发指南
Android Wi-Fi Direct 开发指南(本文为Android官方开发文档译文) 使用Wi-Fi Direct技术可以让具备硬件支持的设备在没有中间接入点的情况下进行直接互联。Android 4.0(API版本14)及以后的系统都提供了对Wi-Fi Direct的API支持。通过对这些API的使用,开发者可以实现支持Wi-Fi Direct的设备间进行相互探测和连转载 2014-01-06 23:03:20 · 1232 阅读 · 0 评论 -
【Android】 ANR异常及traces信息解析
ANR(Application Not Responding)定义在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。所以一个流畅的合理的应用程序中不能出现anr,而让用户每次都要处理这个对话框转载 2014-01-06 23:27:08 · 519 阅读 · 0 评论 -
Android ANR异常及解决方法
ANRs (“Application Not Responding”),意思是”应用没有响应“。 在如下情况下,Android会报出ANR错误:– 主线程 (“事件处理线程” / “UI线程”) 在5秒内没有响应输入事件– BroadcastReceiver 没有在10秒内完成返回通常情况下,下面这些做法会导致ANR 1、在主线程内进行网转载 2014-01-06 23:24:39 · 509 阅读 · 0 评论 -
Android之ListView原理学习与优化总结
在整理前几篇文章的时候有朋友提出写一下ListView的性能优化方面的东西,这个问题也是小马在面试过程中被别人问到的…..今天小马就借此机会来整理下,网上类似的资料蛮多的,倒不如自己写一篇,记录在这个地方,供自己以后使用,不用再翻来翻去的找了,用自己写的…呵呵,不多讲其它了,说起优化我想大家第一反应跟小马一样吧?想到利用ViewHolder来优化ListView数据加载,仅仅就此一条吗?其实不是的转载 2014-01-06 23:56:45 · 332 阅读 · 0 评论 -
Android避免内存泄露
1、 数据库的cursor没有关闭2、 构造adapter没有使用缓存contentview 衍生的listview优化问题:减少创建View的对象,充分使用contentview,可以使用静态类来处理优化getView的过程3、Bitmap对象不使用时采用recycle()释放内存4、Activity中的对象生命周期大于Activity调式方法:DDMS-转载 2014-01-07 00:19:07 · 414 阅读 · 0 评论 -
Android drawable-nodpi 的作用
把一些不能被拉伸的图片放在 drawable-nodpi 中,此图片将不会被放大,以原大小显示。看下图:drawable-nodpi 的作用" title="Android drawable-nodpi 的作用" style="margin:0px; padding:0px; border:0px; list-style:none">这两个图片被放到了d转载 2014-01-07 22:32:30 · 582 阅读 · 0 评论 -
创建支持多种屏幕尺寸的Android应用
负责人:冰凝原文链接:http://developer.android.com/guide/practices/screens_support.htmlAndroid涉及各种各样的支持不同屏幕尺寸和密度的设备。对于应用程序,Android系统通过设备和句柄提供了统一的开发环境,大部分工作是校正每一个应用程序的用户界面到它显示的屏上。与此同时,系统提供APIs允许你控制应用界面为特定转载 2014-01-07 23:12:21 · 633 阅读 · 0 评论 -
Android 适配不同 分辨率和尺寸
如题,最近做一个设备界面,为了能够适应不同的分辨率下面分享实现方法首先:你需要在AndroidManifest.xml文件的元素如下添加子元素supports-screens android:largeScreens="true" android:normalScreens="true"android:anyDensity="转载 2014-01-07 22:57:12 · 500 阅读 · 0 评论 -
详解Android应用如何匹配不同的手机分辨率
从android sdk提供的帮助文档中,我们可以看到各种手机的分辨率和对应的屏大小:QVGA (240x320),WQVGA400(240x400),WQVGA432 (240x432),HVGA (320x480),WVGA800 (480x800),WVGA854 (480x854)。然而,由于分辨率的不同,可能会导致同一布局对应不同分辨率的手机显示出不同的效果,如布局错位、图片虚化转载 2014-01-07 23:24:05 · 822 阅读 · 0 评论 -
Android上常见度量单位【xdpi、hdpi、mdpi、ldpi】解读
术语和概念 屏幕尺寸 屏幕的物理尺寸,以屏幕的对角线长度作为依据(比如 2.8寸, 3.5寸)。 简而言之, Android把所有的屏幕尺寸简化为三大类:大,正常,和小。 程序可以针对这三种尺寸的屏幕提供三种不同的布局方案,然后系统会负责把你的布局方案以合适的方式渲染到对应的屏幕上,这个过程是不需要程序员用代码来干预的。屏幕长宽比 屏幕的物理长度与物理宽度的比例。程序可转载 2014-01-07 22:17:50 · 498 阅读 · 0 评论 -
Android Service 自动启动
我们在使用某些Android应用的时候,可能会发现安装了某应用以后,会有一些服务也会随之运行。而且,这些服务每次都会随着手机开机而启动。有的服务做的更绝,当用户停止该服务器以后,过了一段时间,服务又自动运行了。虽然,从用户的角度来说,这种方式比较流氓。但是,从程序员的角度来说,这是如何做到的呢?经过研究,我发现有一种方式是可以实现的。下面就和大家分享。先简单介绍,一会儿会贴上全部代码。转载 2014-02-21 16:50:18 · 524 阅读 · 0 评论 -
关闭后台程序的必要
不用在意剩余内存的大小,其实很多人都是把使用其他系统的习惯带过来来了。android大多应用没有退出的设计其实是有道理的,这和系统对进程的调度机制有关系。如果你知道java,就能更清楚这机制了。其实和java的垃圾回收机制类似,系统有一个规则来回收内存。进行内存调度有个阀值,只有低于这个值系统才会按一个列表来关闭用户不需要的东西。当然这个值默认设置得很小,所以你会看到内存老在很少的数值徘徊。但事实转载 2014-02-27 15:28:25 · 990 阅读 · 0 评论 -
深入学习android之AlarmManager
对应AlarmManage有一个AlarmManagerServie服务程 序,该服务程序才是正真提供闹铃服务的,它主要维护应用程序注册下来的各类闹铃并适时的设置即将触发的闹铃给闹铃设备(在系统中,linux实现的设备名 为”/dev/alarm”),并且一直监听闹铃设备,一旦有闹铃触发或者是闹铃事件发生,AlarmManagerServie服务程序就会遍历闹铃列 表找到相应的注册闹铃并发出广播。转载 2014-02-19 15:04:30 · 350 阅读 · 0 评论 -
AlarmManager的使用
AlarmManager的使用博客分类: androidAlarmManager的作用文档中的解释是:在特定的时刻为我们广播一个指定的Intent。简单的说就是我们设定一个时间,然后在该时间到来时,AlarmManager为我们广播一个我们设定的Intent。 对应AlarmManager更深层的了解可以参考: http://www.programbbs转载 2014-02-19 15:00:42 · 369 阅读 · 0 评论 -
AlarmManager类的应用(实现闹钟功能)
1、AlarmManager,顾名思义,就是“提醒”,是Android中常用的一种系统级别的提示服务,可以实现从指定时间开始,以一个固定的间隔时间执行某项操作,所以常常与广播(Broadcast)连用,实现闹钟等提示功能2、AlarmManager的常用方法有三个:(1)set(int type,long startTime,PendingIntent pi);该方法用于设转载 2014-02-19 15:15:52 · 401 阅读 · 0 评论 -
Eclipse快捷键 10个最有用的快捷键
Eclipse中10个最有用的快捷键组合 一个Eclipse骨灰级开发者总结了他认为最有用但又不太为人所知的快捷键组合。通过这些组合可以更加容易的浏览源代码,使得整体的开发效率和质量得到提升。 1. ctrl+shift+r:打开资源 这可能是所有快捷键组合中最省时间的了。这组快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个转载 2014-03-04 10:15:49 · 386 阅读 · 0 评论 -
android:versionCode和android:versionName 用途
Android的版本可以在androidmainfest.xml中定义,主要有android:versionCode和android:versionNameandroid:versionCode:主要是用于版本升级所用,是INT类型的,第一个版本定义为1,以后递增,这样只要判断该值就能确定是否需要升级,该值不显示给用户。android:versionName:这个是我们常说明的版本号,由三部分组成转载 2014-03-04 17:02:11 · 470 阅读 · 0 评论 -
解决surfaceview滑动闪烁黑屏
当多个surfaceview之间滑动的时候,两个view之间会有黑线。这是用于surfaceview的双缓存机制引起。之前想了好多方法都想不通。最后终于想到了一个妥协的办法。就是将surfaceview的背景色设置为要绘制图形的背景色(或者是将绘制的图片设置为背景)setBackgroundColor(Color.argb(255,255,231,115));复转载 2014-03-04 14:53:18 · 2487 阅读 · 0 评论 -
Android中Service类onStartCommand
Android开发的过程中,每次调用startService(Intent)的时候,都会调用该Service对象的onStartCommand(Intent,int,int)方法,然后在onStartCommand方法中做一些处理。然后我们注意到这个函数有一个int的返回值,这篇文章就是简单地讲讲int返回值的作用。从Android官方文档中,我们知道onStartCommand有4种返回转载 2014-03-10 18:30:42 · 362 阅读 · 0 评论 -
Service使用方法 | AsyncTask的使用和原理 | 定时器触发线程
一、Service服务 定义一个服务,需要扩展Service基类,重写onBind和onCreate方法。很多时候也要重写onStartCommand方法,当服务是通过startServiec而启动的,就会调用onStartCommand方法。 服务是在应用程序的主线程上启动 ,这意为着onStartCommand方法中完成的处理都是发生在GUI线程中。实现服务转载 2014-03-10 18:53:46 · 786 阅读 · 0 评论 -
Android中dispatchTouchEvent, onInterceptTouchEvent, onTouchEvent的理解
onInterceptTouchEvent用于改变事件的传递方向。决定传递方向的是返回值,返回为false时事件会传递给子控件,返回值为true时事件会传递给当前控件的onTouchEvent(),这就是所谓的Intercept(拦截)。[tisa ps:正确的使用方法是,在此方法内仅判断事件是否需要拦截,然后返回。即便需要拦截也应该直接返回true,然后由onTouchEvent方法进行转载 2014-03-06 15:33:46 · 404 阅读 · 0 评论 -
Android使用ant对项目进行编译签名优化打包
Android本身是支持ant打包项目的,并且SDK中自带一个build.xml文件。通过该文件,可以对文件进行编译、打包、安装等。并且支持多种方式打包,如debug或者release。一般的,可以按照如下方法进行操作:首先创建一个Android工程。工程创建好后,需要为工程添加ant支持,即创建相应的build.xml文件。这个文件不需要用户自己创建,只需要执行如下命令即转载 2014-03-10 10:12:22 · 477 阅读 · 0 评论 -
Android内存机制分析下篇:分析APP内存使用情况
本文主要是分析了如何获取我们应用的内存使用情况信息,关于这方面的信息,其实还有其他一些方法。另外还介绍APP应用的默认内存已经Android的GC回收,不过上面只是很浅薄地分析了一下,让大家有个印象。这些东西真要深入分析得花不少精力。因为我们的目的只是解决OOM问题,所以目前没打算深入分析,后面有时间进行Android系统分析的时候,我们再深入分析。AD:51CTO学院:IT精品课程在线看转载 2014-04-15 11:54:54 · 441 阅读 · 0 评论 -
Android内存机制分析上篇:了解Android堆和栈
Java的堆是一个运行时数据区,类的(对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度转载 2014-04-15 14:13:45 · 413 阅读 · 0 评论 -
.9图片的制作(Draw 9-patch)
与传统的png 格式图片相比, 9.png 格式图片在图片四周有一圈一个像素点组成的边沿,该边沿用于对图片的可扩展区和内容显示区进行定义。 这种格式的图片在android 环境下具有自适应调节大小的能力。 1.在SDK里的tools文件夹里有一个工具名字为draw9patch2.执行之后就是上面截图的这个工具,选择一张图片添加进来转载 2014-03-21 13:38:05 · 353 阅读 · 0 评论 -
Android使用ant对项目进行编译签名优化打包
Android本身是支持ant打包项目的,并且SDK中自带一个build.xml文件。通过该文件,可以对文件进行编译、打包、安装等。并且支持多种方式打包,如debug或者release。一般的,可以按照如下方法进行操作:首先创建一个Android工程。工程创建好后,需要为工程添加ant支持,即创建相应的build.xml文件。这个文件不需要用户自己创建,只需要执行如下命令即转载 2014-05-04 10:21:01 · 328 阅读 · 0 评论 -
Android应用程序的内存分析
英文原文地址:http://android-developers.blogspot.com/2011/03/memory-analysis-for-android.htmlThe Dalvik runtime may be garbage-collected, but that doesn't mean you can ignore memory management. You转载 2014-05-09 13:26:22 · 580 阅读 · 0 评论 -
Android之内存泄漏调试学习与总结
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://mzh3344258.blog.51cto.com/1823534/895093 大家有或经常碰到OOM的问题,对吧?很多这样的问题只要一出现相信大家的想法跟小马的一样,就是自己的应用:优化、优化、再优化!而且如果出现类似于OOM这样级别的问题,根本就不好处理,Log转载 2014-05-09 13:27:22 · 293 阅读 · 0 评论 -
Android4.x系统设置字体大小导致应用布局混乱的解决方案
从android4.0起系统设置的”显示“提供设置字体大小的选项。这个设置直接会影响到所有sp为单位的字体适配,所以很多app在设置了系统字体后瞬间变得面目全非。下面是解决方案 Resources res = getResources(); Configuration config=new Configuration(); config.setToDefaults();转载 2014-05-09 10:14:43 · 984 阅读 · 0 评论 -
eclipse内存分析工具MAT浅谈
MAT(Memory Analyzer Tool) 是基于heap dumps来进行分析的,所以首先必须通过一定的手段得到JAVA堆的DUMP文件。JDK自带的。JConsole 或者 JMAP都是不错的工具。 准备 (·)下载eclipse3.7 (·)安装MAT插件:http://download.eclipse.org/mat/1.1/update-site/ 安装完转载 2014-05-09 15:51:11 · 482 阅读 · 0 评论 -
关于android内存泄漏的研究
android内存泄漏,其实泄漏几个String,泄漏几个普通对象,对用户体验没什么影响,主要问题在于泄漏了跟界面有关的东西,如View,Activity,PopupWidow,和Dialog,和Bitmap。泄漏,不只是说反复进入内存是不是一直增大,而且当你的这些界面关闭时,它所占用的空间会不会被释放掉。我们的项目有100多个PopupWindow,Dialog,和自定义View,十几个Acti转载 2014-05-12 11:22:11 · 429 阅读 · 0 评论 -
Android Memory Analyzer Tool(MAT) 使用基础
转自http://blog.sina.com.cn/s/blog_4e60b09d01011gb6.html Android Memory Analyzer Tool(MAT) 使用基础 (2012-04-09 15:57:46)转载▼标签: mat 性能 内存泄露 it分转载 2014-05-12 10:58:47 · 523 阅读 · 0 评论 -
Android内存泄漏问题及解决方法
一、 Android的内存机制Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的.那么GC怎么能够确认某一个对象是不是已经被废弃了呢?Java采用了有向图的原理。Java将引用关系考虑为图的有向边,有向边从引用者指向引用对象。线程对象可以作为有向图转载 2014-05-12 11:23:35 · 406 阅读 · 0 评论 -
Activity属性设置大全
activity属性设置大全 android:allowTaskReparenting=["true"|"false"] 是否允许activity更换从属的任务,比如从短信息任务切换到浏览器任务。 android:alwaysRetainTaskState=["true"|"false"] 是否保留状态不变,比如切换回home,再从新打开,a转载 2014-05-19 13:50:49 · 413 阅读 · 0 评论 -
Android加载图片导致内存溢出(Out of Memory异常)
Android在加载大背景图或者大量图片时,经常导致内存溢出(Out of Memory Error),本文根据我处理这些问题的经历及其它开发者的经验,整理解决方案如下(部分代码及文字出处无法考证):方案一、读取图片时注意方法的调用,适当压缩尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResou转载 2014-04-14 10:53:03 · 453 阅读 · 0 评论 -
Android图片异步加载之Android-Universal-Image-Loader
今天要介绍的是Github上一个使用非常广泛的图片异步加载库Android-Universal-Image-Loader,该项目的功能十分强大,可以说是我见过的目前功能最全、性能最优的图片异步加载解决方案。做Android的同学都知道,Android加载大量图片时,由于系统分配给图片加载的内存大小有限,所以,如果加载图片量非常大的话容易报OOM异常,关于这个异常已经有不少解决方案了,我就不赘述。下转载 2014-05-13 15:34:34 · 353 阅读 · 0 评论