android开发
kentbleau
吃得苦中苦方为人上人
展开
-
android manifest.xml配置文件中的 Service节点
语法: android:enabled=["true" | "false"] android:exported=["true" | "false"] android:icon="drawable resource" android:isolatedProcess=["true" | "false"] android:lab翻译 2016-07-26 15:52:07 · 13437 阅读 · 0 评论 -
Android中如何查找内存泄露
1、首先确定是否有内存泄露及哪个程序造成。1.1、内存泄露已弹出out of memory对话框的情况。这种情况很简单,直接看对话框就知道是哪个应用的问题了。然后再分析该应用是否是因为内存泄露造成的out of memory对话框。1.2、对于有内存泄露,但没造成弹出out of memory对话框的情况使用《Android中如何查看内存》中介绍的各种方法进行分析,确定是否有内存泄转载 2014-11-19 14:43:47 · 557 阅读 · 0 评论 -
Android内存泄露利器(RSS内存统计篇)
前言RSS(Resident Set Size)表示实际使用物理内存(包含共享库占用的内存)。因为它包含了共享内存,所以他的意义不及PSS。所以现在查看内存使用情况一般参照PSS。因此现在一般不使用getProcessState.bat,而是使用getMemoryState.bat关于getMemoryState.bat的更多内容请参照《Android内存泄露利器(内存统计篇)》转载 2014-11-19 14:35:59 · 1139 阅读 · 0 评论 -
Android内存泄露利器(hprof篇)
我们可以使用代码生成hprof,然后使用批处理hprof文件,然后用MAT进行对多个hprof文件比较分析。一、批处理配置文件批处理配置文件config.bat如下:rem the following var is for getProcessState.batset rawDatadir=rawDataset processName=com.sec.android.app转载 2014-11-19 14:33:00 · 1254 阅读 · 0 评论 -
Android Application 对象介绍
What is Application Application和Activity,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息。通常我们是不需要指定一个Application的,这时系统会自动帮我们创建,如果需要创建自己 的Application,也很简单创建一个类继承 Applicatio转载 2014-11-19 13:07:12 · 505 阅读 · 0 评论 -
Android之内存泄漏调试学习与总结
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://mzh3344258.blog.51cto.com/1823534/895093转载 2014-11-19 14:50:34 · 529 阅读 · 0 评论 -
Android中asset文件夹和raw文件夹区别
*res/raw和assets的相同点:1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。*res/raw和assets的不同点:1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。2.r转载 2014-11-13 15:27:21 · 569 阅读 · 0 评论 -
android
今天学习了Spinner组件,使用Spinner相当于从下拉列表中选择项目,下面演示一下Spinner的使用(分别使用ArrayAdapter和自定义Adapter实现)(一):使用ArrayAdapter进行适配数据: ①:首先定义一个布局文件:转载 2014-11-12 16:03:38 · 488 阅读 · 0 评论 -
Java注解Annotation详解
注解相当于一种标记,在程序中加了注解就等于为程序打上了某种标记,没加,则等于没有某种标记,以后,javac编译器,开发工具和其他程序可以用反射来了解你的类及各种元素上有无何种标记,看你有什么标记,就去干相应的事。标记可以加在包,类,字段,方法,方法的参数以及局部变量上。转载 2014-11-12 16:35:17 · 604 阅读 · 0 评论 -
java.lang.ClassCastException: android.app.Application cannot be cast to
出这个异常的原因是在项目中添加了新lication类(publicclass Application extendslication)之后,没有在AndroidManifest.xml中添加该类的声明,所以编译器抛出异常:java.lang.ClassCastException: android.app.Application cannot becast to 类名转载 2014-11-12 16:54:42 · 1193 阅读 · 0 评论 -
Android提高第二篇之SurfaceView的基本使用
本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处! 上次介绍MediaPlayer的时候稍微介绍了SurfaceView,SurfaceView由于可以直接从内存或者DMA等硬件接口取得图像数据,因此是个非常重要的绘图容器,这次我就用两篇文章来介绍SurfaceView的用法。网上介绍SurfaceView的用法有很多,写法也层出不转载 2014-06-15 22:36:38 · 1123 阅读 · 1 评论 -
android背景选择器selector用法汇总
一.创建xml文件,位置:drawable/xxx.xml,同目录下记得要放置的相关图片转载 2014-06-09 13:29:44 · 499 阅读 · 0 评论 -
android中的Application的作用
这段时间忙公司的项目,期间遇到了以前没有碰到的问题,现在终于消停一会了,,找个时间来总结一下: 今天主要是来说说android中的Application的使用。。。 在android中,当我们需要使用到一些全局的信息例如一个entity或是一个location的时候,你可以用一个Global的类型来处理,也可以放到临时建立的数据库中,再者你也许想到放到sharedprefere转载 2014-06-09 12:09:43 · 601 阅读 · 0 评论 -
Android中dip、dp、sp、pt和px的区别
1、概述 过去,程序员通常以像素为单位设计计算机用户界面。例如:图片大小为80×32像素。这样处理的问题在于,如果在一个每英寸点数(dpi)更高的新显示器上运行该程序,则用户界面会显得很小。在有些情况下,用户界面可能会小到难以看清内容。由此我们采用与分辨率无关的度量单位来开发程序就能够解决这个问题。Android应用开发支持不同的度量单位。2、度量单位含义转载 2014-06-10 14:20:06 · 567 阅读 · 0 评论 -
Your content must have a TabHost whose id attribute is 'android.R.id.tabhost' 解决
问题1. 运行Activity的时候出现Your content must have a TabHost whose id attribute is 'android.R.id.tabhost'添加Layout的时候,xml跟元素选择TabHost, 但是ADT没有添加id属性, 运行的时候,会提示Your content must have a TabHost whose id attri转载 2014-06-08 15:52:18 · 849 阅读 · 0 评论 -
Android内存泄漏产生原因
1.资源对象没关闭造成的内存泄漏描述:资源性对象比如(Cursor,File文件等)往往都用了一些缓冲,我们在不使用的时候,应该及时关闭它们,以便它们的缓冲及时回收内存。它们的缓冲不仅存在于java虚拟机内,还存在于java虚拟机外。如果我们仅仅是把它的引用设置为null,而不关闭它们,往往会造成内存泄漏。因为有些资源性对象,比如SQLiteCursor(在析构函数finalize(),如转载 2014-11-19 15:01:22 · 680 阅读 · 0 评论 -
Android中如何查看内存(上)
文章参照自:http://stackoverflow.com/questions/2298208/how-to-discover-memory-usage-of-my-application-in-android#2299813像Linux这种现代操作系统的内存使用是很复杂的,因此很难准确的知道你的应用程序使用了好多内存。查看内存使用的方式有很多种,但是各个方式查看到的结果可能会有微略不同转载 2014-11-19 14:45:31 · 606 阅读 · 0 评论 -
Android系统启动过程
Android系统启动过程首先Android框架架构图:(来自网上,我觉得这张图看起来很清晰)Linux内核启动之后就到Android Init进程,进而启动Android相关的服务和应用。启动的过程如下图所示:(图片来自网上,后面有地址)下面将从Android4.0源码中,和网络达人对此的总结中,对此过程加以学习了解和总结,转载 2014-12-24 14:41:28 · 779 阅读 · 0 评论 -
谷歌Volley网络框架讲解——第一篇
自从公司新招了几个android工程师后,我清闲了些许。于是就可以有时间写写博客,研究一些没来的研究的东西。今年的谷歌IO大会上,谷歌推出了自己的网络框架——Volley。不久前就听说了但是没有clone下来,这次终于把源码弄下来了。这个框架对网络请求数据缓存做了很多优化,其他说明就请自行百度吧。。。在这梳理一下网络请求的过程:先看一段网络请求的代码吧mQueue = Voll转载 2014-12-18 21:52:32 · 739 阅读 · 0 评论 -
Android数据存储方式:SharePreference、SQLite、ContentProvider有什么不同?
在Android中一共提供了4种数据存储方式,由于Android中数据基本是私有的,如果需要在其他应用程序中使用这些数据,就要使用Android提供的ContentProviders。Android中4种数据存储方式:Shared Preferences类似于我们常用的ini文件,用来保存应用程序的一些属性设置,在Android平台常用于存储较简单的参数设置。数据存放位置:目录转载 2014-12-18 21:13:26 · 1616 阅读 · 0 评论 -
Adapter getview中的Tag 、convertView理解
android SDK中这样讲getview的参数 convertview :the old view to reuse, if possible. Note: You should check that this view is non-null and of an appropriate type before using. If it is not possible to翻译 2015-01-08 13:34:35 · 1137 阅读 · 0 评论 -
Android下Context、Activity、Application之间有什么区别
在开发Android程序的时候,我们经常要跟Context、Activity、Application这三个类打交道,那么这个三个类之间有什么联系和区别呢? 首先Activity和Application都是Context的子类。Context从字面上理解就是上下文的意思,在实际应用中它也确实是起到了管理上下文环境中各个参数和变量的总用,方便我们可以简单的访问到各种资源。虽然Activity转载 2015-01-07 13:20:56 · 2953 阅读 · 0 评论 -
Context-----Activity,Application之间的交流使者
Context,我们在android开发中经常见到这个名词,尤其是某些方法的参数列表,像是我们Toast中的makeText()中的第一个参数,就是Context。可以这么说,Context是 android中的基础,只有切实掌握好Context的概念和用法,我们才能写出更好的代码。那么,现在就让我们一起来看一下所谓的Context。 Context,如果是直接从文档翻译过来,就转载 2015-01-07 14:05:46 · 627 阅读 · 0 评论 -
android.view.WindowLeaked的解决方案
无意中发现windowleaked,错误详细信息如下:11-28 16:39:10.867: E/WindowManager(14064): android.view.WindowLeaked: Activity com.sbdz.agriculture.activity.ProductActivity has leaked window android.widget.TextView{4原创 2014-11-28 17:37:16 · 1802 阅读 · 0 评论 -
Android网络连接之HttpURLConnection和HttpClient
1.概念 HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能:HttpURLConnection。但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。 除此之外,在A转载 2014-11-26 09:12:13 · 958 阅读 · 0 评论 -
Context-----Activity,Application之间的交流使者
Context,我们在android开发中经常见到这个名词,尤其是某些方法的参数列表,像是我们Toast中的makeText()中的第一个参数,就是Context。可以这么说,Context是 android中的基础,只有切实掌握好Context的概念和用法,我们才能写出更好的代码。那么,现在就让我们一起来看一下所谓的Context。 Context,如果是直接从文档翻译过来,就真的转载 2014-11-19 20:52:13 · 523 阅读 · 0 评论 -
Android内存泄露利器(全自动篇)
我写了可执行文件启动器Launcher.jar及一些批处理,通过它们就可以自动的以一定的时间间隔提取Hprof和进程的内存信息一、需要的库可执行文件启动器:lib\Launcher.jar注:关于Launcher.jar的源码请参考《可执行文件启动器(上)》和《可执行文件启动器(下)》二、自动提取Hprof。runHprofPicker.bat文件:java -转载 2014-11-19 14:40:33 · 725 阅读 · 0 评论 -
android内存泄漏简介
前言 不少人认为JAVA程序,因为有垃圾回收机制,应该没有内存泄露。其实如果我们一个程序中,已经不再使用某个对象,但是因为仍然有引用指向它,垃圾回收器就无法回收它,当然该对象占用的内存就无法被使用,这就造成了内存泄露。如果我们的java运行很久,而这种内存泄露不断的发生,最后就没内存可用了。当然java的,内存泄漏和C/C++是不一样的。如果java程序完全结束后,它所有的对象就都不可转载 2014-11-19 13:15:18 · 800 阅读 · 0 评论 -
Android中如何查看内存(下)
实例1 int cnt=0; final static int kBufferMinSize=1000; final static int kBufferMaxSize=2000; StringBuffer strBuffer=new StringBuffer(kBufferMinSize); StringBuffer转载 2014-11-19 14:46:59 · 501 阅读 · 0 评论 -
Android内存泄露利器(内存统计篇)
我们可以通过adb shell "dumpsys meminfo %curProcessName%"命令得到某个进程的内存使用情况。getMemoryState.bat主要用于解析该命令返回的内存,得到NativeSize,DalvikSize,NativeAllocated,DalvikAllocated,NativePSS,DalvikPSS等。它把不同时期得到的数据按时间前后为顺序以逗号转载 2014-11-19 14:38:28 · 941 阅读 · 0 评论 -
Android下获取设备唯一标识(UDID, DeviceID)
android下获取设备唯一标识原本非常简单(至少不会像iOS一样禁用这个,禁用那个),但是由于设备的多样性需要考虑的东西也对应复杂起来。先附上完整代码转载 2014-11-20 09:05:31 · 4366 阅读 · 0 评论 -
TextView显示插入的图片
Android系统默认给TextView插入图片提供了三种方式:1、ImageSpan2、Html.ImageGetter3、TextView.setCompoundDrawables(left, top, right, bottom)1、TextView使用ImageSpan显示图片ImageSpan span = new ImageSpan(this, R.drawable转载 2014-01-12 15:12:05 · 1696 阅读 · 0 评论 -
Android 判断一个应用在运行
Android 如何判断一个应用在运行 在一个应用中,或一个Service 、Receiver中判断一个应用是否正在运行,以便进行一些相关的处理。这个时候我们需要得到一个ActivityManager,这个Manager顾名思意就是管理Activity的,它有一个方法叫getRunningTasks,可以得到当前系统正在运行的Task的列表,代码如下: ActivityManag转载 2013-12-11 16:44:20 · 843 阅读 · 0 评论 -
android 制作9.png图片
一、什么是9.png: 可能做过任务栏美化的同学都会知道,我靠,framework-res.apk\res\drawable-hdpi 目录下有非常非常多的XXXXXX.9.png图片。千万不要以为这个9只是png格式图片的命名区分,其实他是一种特殊的格式,在png图片的基础上动了些手脚,而且这种手脚你会 看不见摸不着(详情见下面具体内容)。 9.png转载 2013-12-06 18:58:56 · 781 阅读 · 0 评论 -
Android服务之Service(其一)
android中服务是运行在后台的东西,级别与activity差不多。既然说service是运行在后台的服务,那么它就是不可见的,没有界面的东西。你可以启动一个服务Service来播放音乐,或者记录你地理信息位置的改变,或者启动一个服务来运行并一直监听某种动作。Service和其他组件一样,都是运行在主线程中,因此不能用它来做耗时的请求或者动作。你可以在服务中开一一个线程,在线程中做耗时动作。转载 2013-09-03 12:13:15 · 638 阅读 · 0 评论 -
android广播的使用实例
总共分3步第一步:定义一个BroadcastReceiver广播接收类:view plainprivate BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver(){ @Override public void onReceive(Context context, Int转载 2013-09-03 09:55:46 · 1498 阅读 · 0 评论 -
AndroidManifest.xml配置文件详解
AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点的用法,以便日后查阅。下面是一个标准的AndroidManifest.xml文件样例。[html] view plaincopyxml version="1.0" encoding="utf-8"?> man转载 2013-09-02 21:20:26 · 737 阅读 · 0 评论 -
BroadCastReceiver
BroadCastReceiver 简介 (末尾有源码)BroadCastReceiver 源码位于: framework/base/core/java/android.content.BroadcastReceiver.java 广播接收者( BroadcastReceiver )用于接收广播 Intent ,广播 Intent 的发送是通过调用Context.sendBroadca转载 2013-09-02 21:01:05 · 695 阅读 · 0 评论 -
Android广播事件机制及应用
接收广播 新建一个class 继承BroadcastReceiver,并实现onReceive()方法。当BroadcastReceiver接收到广播后,就会去执行OnReceive()方法。所以,我们在OnReceive()方法中加上代码,当接收到广播后就跳到显示提醒信息的Activity。 具体代码如下: package com.Reminder;转载 2013-09-02 20:52:39 · 816 阅读 · 0 评论 -
android progressDialog的使用
显示对话框 对话框经常作为Activity的一部分来创建和显示。你通常应该从protected Dialog Activity.onCreateDialog (int id) 回调方法里创建对话框。当你使用这个回调函数时,Android系统会有效的设置这个Activity为每个对话框的所有者,从而自动管理每个对话框的状态并挂靠到Activity上。这样,每个对话框继承这个转载 2013-09-02 19:42:41 · 1112 阅读 · 0 评论