android
文章平均质量分 91
qeqeqe236
这个作者很懒,什么都没留下…
展开
-
2020-08-12
开机默认壁纸加载流程分析标签(空格分隔): Android开发[参考资料]Android壁纸开发流程分析android壁纸服务流程浅析深入理解Android卷III 第八章深入理解Android壁纸开机默认壁纸加载流程分析 开机加载壁纸 Step 1. new WallpaperManagerService() Step 2. getWallpaperDir() Step 3. loadSettingsLocked() Step 4. wallpaperF.sy.转载 2020-08-12 16:40:40 · 152 阅读 · 0 评论 -
android优化
一、对界面UI的优化(1)在Android应用开发过程中,屏幕上控件的布局代码和程序的逻辑代码通常是分开的。界面的布局代码是放在一个独立的xml文件中的,这个文件里面是树型组织的,控制着页面的布局。通常,在这个页面中会用到很多控件,控件会用到很多的资源。Android系统本身有很多的资源,包括各种各样的字符串、图片、动画、样式和布局等等,这些都可以在应用程序中直接使用。这样做的转载 2013-01-29 12:22:18 · 528 阅读 · 0 评论 -
图片内存溢出和图片压缩
1) 要及时回收Bitmap的内存Bitmap类有一个方法recycle(),从方法名可以看出意思是回收。这里就有疑问了,Android系统有自己的垃圾回收机制,可以不定期的回收掉不使用的内存空间,当然也包括Bitmap的空间。那为什么还需要这个方法呢?Bitmap类的构造方法都是私有的,所以开发者不能直接new出一个Bitmap对象,只能通过BitmapFactory类的各种静态转载 2012-03-09 00:12:48 · 1980 阅读 · 0 评论 -
获取安装的应用程序信息
Android手机上获取已经安装的应用,可以使用以下一行代码:List packageList = getPackageManager().getInstalledPackages(0);当在需要区分已经安装的用户应用程序和系统程序的时候,可以采用以下方法:方法一: 通过获取的安装包(包括安装的与系统自身的应用程序),对其android.content.pm.P转载 2013-01-18 15:51:51 · 608 阅读 · 0 评论 -
android文件、资源读取总结
一、资源文件的读取:1) 从resource的raw中读取文件数据:String res = "";try{//得到资源中的Raw数据流InputStream in = getResources().openRawResource(R.raw.test);//得到数据的大小int length = in.available();转载 2013-01-18 15:57:27 · 550 阅读 · 0 评论 -
overridePendingTransition 自定义翻页效果
Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画。{它包括两个部分:一部分是第一个activity退出时的动画;另外一部分时第二个activity进入时的动画;在Android的2.0版本之后,有了一个函数来帮我们实现这个动画。这个函数就是YoverridePendingTransitionj这个函数有两个参数,一个参数是第一个act原创 2012-07-25 10:28:48 · 1057 阅读 · 0 评论 -
android listview 圆角边框的实现的实现
这几天十一放假,在群里非常活跃,很多朋友问如何实现android中listview的圆角功能,像Iphone设置里面的tableView如 如下效果:实现过程其实这个功能实现也很简单,只是很多朋友没有仔细的去了解android布局的相关知识,这里我们使用了android中的shade的圆角功能来实现的。java代码很简单,就一个activity,一个listview转载 2013-03-06 14:04:04 · 3530 阅读 · 0 评论 -
查看应用是否申明了权限
public void getInstalledApps() {try {/* 列出当前设备的所有安装程序 */List appInfos = getPackageManager().getInstalledApplications(0);for (ApplicationInfo appInfo : appInfos) {boolean flag = false;//转载 2013-02-26 16:54:45 · 599 阅读 · 0 评论 -
获取手机的相关信息
Android系统提供了Environment 和StatFs两个类,配合可以实现对存储设备容量的查看。 Environment: 获取系统中的存储设备信息 getDataDirectory(): 获取应用存储空间文件对象。 getExternalStorageDirectory(): 获取外部存储设备及SD卡文件对象。 getRoot原创 2012-03-30 20:38:58 · 1411 阅读 · 0 评论 -
Android开的资源相关
资源和资产Resources and Assets资源是Android应用程序不可或缺的部分。一般而言,资源是你想包含和引入到应用程序里面的一些外部元素,比如图片、音频、视频、文本字符串、布局、主题等。每个Android应用程序包含一个资源目录(res/)和资产目录(assets/),资产不经常被使用,因为它们的应用程序很少。你仅在需要读取原始字节流时才需要保存数据为资产。资源和资产目转载 2013-04-23 17:28:19 · 796 阅读 · 0 评论 -
Android Lint Checks检查未使用资源
今天,一Android开发群中有童鞋问道:如何查找那些没有使用的资源文件?我回答:用Android Lint Checks啊。童鞋一头雾水,原来不知道它还有这个功能。其实Android Lint Checks不仅仅可以检查哪些图片 xml文件是否被引用,它还可以检查布局是否合理,国家化,等问题,并且给出修改建议。 在eclipse中可以很方便的使用它。 如图一所示,绿色对勾的就是A转载 2012-12-12 17:42:39 · 2196 阅读 · 0 评论 -
控制手机耗电量
51CTO在对尚邮架构师的访谈中曾经探讨过移动开发是否要重视移动终端软件的耗电问题,答案是显而易见的!那么如何才能降低Android应用程序的耗电量呢?今天再一次回顾了一下09年Google IO大会Jeffrey Sharkey的演讲(Coding for Life — Battery Life, That Is),同时也讲一下应该如何有效地控制耗电量问题。首先我们来看看Android手转载 2013-01-26 18:09:13 · 946 阅读 · 0 评论 -
Android Build获得系统信息
Build 可以获得系统的相关信息(软件)Build.BOARD // 主板 Build.BRAND // Android系统定制商 Build.CPU_ABI // cpu指令集 Build.DEVICE // 设备参数 Build.DISPLAY // 显示屏参数 Build.FINGERPRINT // 硬件名称转载 2012-08-14 17:22:34 · 1414 阅读 · 0 评论 -
Android自定义简单的View
Android自定义View实现很简单继承View,重写构造函数、onDraw,(onMeasure)等函数。 如果自定义的View需要有自定义的属性,需要在values下建立attrs.xml。在其中定义你的属性。 在使用到自定义View的xml布局文件中需要加入xmlns:前缀="http://schemas.android.com/apk/res/你的转载 2012-08-16 20:01:32 · 979 阅读 · 0 评论 -
android动画详解
Android中animation由四种类型组成在XML文件中: alpha 渐变透明度渐变效果 scale 渐变尺寸伸缩渐变效果 translate 画面转换位置移动渐变效果 rotate 画面转移旋转渐变效果在Java 源码中定义了相应的类,可以使用这些类的方法来获取和操作相应的属性:转载 2012-08-30 18:20:28 · 1414 阅读 · 1 评论 -
WebView
WebView(网络视图)能加载显示网页,可以将其视为一个浏览器。它使用了WebKit渲染引擎加载显示网页,实现WebView有以下两种不同的方法:第一种方法的步骤:1.在要Activity中实例化WebView组件:WebView webView = new WebView(this);2.调用WebView的loadUrl()方法,设置WevView要显示的网页: 互联网用:转载 2012-09-06 16:26:26 · 6392 阅读 · 0 评论 -
相机参数
[java] view plaincopyzoom=0;// scene-detect-values=off,on; zoom-supported=true; [java] view plaincopystrtextures=OFF; face-detection-values=; sh转载 2012-09-21 18:56:29 · 1286 阅读 · 0 评论 -
Intent
大部分移动设备平台上的应用程序都运行在他们自己的沙盒中。他们彼此之间互相隔离,并且严格限制应用程序与硬件和原始组件之间的交互。 我们知道交流是多么的重要,作为一个孤岛没有交流的东西,一定毫无意义!Android应用程序也是一个沙盒,但是他们能够使用Intent、Broadcast Receivers、Adapters、Content Providers、Internet去突破他们的边界互相交流。有转载 2012-03-09 23:49:38 · 1078 阅读 · 1 评论 -
AlertDialog
要做这么一个提示界面。最开始选用的是AlertDialog但是由于AlertDialog的setview方法设置界面之后,界dialog的上下端都会出现露底。界面之难看明显是不能符合设计要求的。。然后就考虑了用popwindow来实现但是在实现过程中发现popwindow来做很难把握好界面的宽度和摆放的位置。 其次考虑个人因为研究Dialog已经花去了一些时间使用还是选用Dialog来实现原创 2012-11-20 17:59:51 · 712 阅读 · 0 评论 -
build.xml
一. 安装配置Ant:下载地址为http://jakarta.apache.org,假设解压Ant的目录为,接下来需在操作系统中设置如下环境变量: 1. ANT_HOME:ant的安装目录; 2. JAVA_HOME:JDK的安装目录; 3. PATH:把%ANT_HOME%/bin目录添加到PATH变量中,以便从命令行下直接运行ant; 二.创建转载 2012-11-23 14:54:35 · 1504 阅读 · 0 评论 -
context 和全局变量
研究context的时候,对application和activity context有了一定的了解 Application context和Activity context的区别: 这是两种不同的context,也是最常见的两种。第一种中context的生命周期与Application的生命周期相关的,context随着Application的销毁而销毁,伴随转载 2013-01-26 11:14:48 · 1159 阅读 · 0 评论 -
Android适配 获取手机屏幕的分辨率
如何将一个应用程序适配在不同的手机上,虽然这不算是一个技术问题,但是对于刚刚做屏幕的开发人员来说,还真不是一件多么简单的事情。 首先:你需要在AndroidManifest.xml文件的元素如下添加子元素supports-screensandroid:largeScreens="true" android:normalScreens="true"andro转载 2012-05-07 16:19:35 · 4161 阅读 · 0 评论 -
往屏幕中加入滑动效果
今天做了一个半屏显示的demo,加入了对于滑动效果的支持。。。用到一些滑动的知识和一些小技巧。。。 首先要实现滑动有大概有两种方法:OnTouchListener 和 GestureDetector.OnGestureListener。。。1,使用OnTouchListener 在onTouch方法中监听不同的touch事件,算出手指滑动的距离方向。。然后获得对应的状态就行屏幕的滑动显示转载 2013-05-06 17:19:56 · 1052 阅读 · 0 评论 -
Dalvik虚拟机JNI方法的注册过程分析
在前面一文中,我们分析了Dalvik虚拟机的运行过程。从中可以知道,Dalvik虚拟机在调用一个成员函数的时候,如果发现该成员函数是一个JNI方法,那么就会直接跳到它的地址去执行。也就是说,JNI方法是直接在本地操作系统上执行的,而不是由Dalvik虚拟机解释器执行。由此也可看出,JNI方法是Android应用程序与本地操作系统直接进行通信的一个手段。在本文中,我们就详细分析JNI方法的注册过程。转载 2014-06-10 15:18:02 · 756 阅读 · 0 评论 -
android 蓝牙管理
蓝牙( Bluetooth®):是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用2.4—2.485GHz的ISM波段的UHF无线电波)。蓝牙设备最多可以同时和7个其它蓝牙设备建立连接,进行通信,当然并不是每一个蓝牙都可以达到最大值。下面,我们从蓝牙的基本概念开始,一步一步开始了解蓝牙。 (尊重劳动成果,转载请注明出处http://转载 2017-02-28 16:07:36 · 1504 阅读 · 0 评论 -
android Studio打包apk,aar,jar包
转载请标明出处:一片枫叶的专栏文本我们将讲解Android studio打包apk,aar,jar包的相关知识。apk包就是android系统的安装包,这里没什么好说的,aar包是android中独有的类库包,而jar包是Java中特有的类库包,在具体的介绍打包之前,我们先来aar包和jar包的区别。jar包与aar包的区别jar是java字节码文件(class转载 2017-03-09 09:31:10 · 445 阅读 · 0 评论 -
理解 Android Build 系统
理解 Android Build 系统WeiboGoogle+用电子邮件发送本页面前言Android Build 系统是 Android 源码的一部分。关于如何获取 Android 源码,请参照 Android Source 官方网站:http://source.android.com/source/downl转载 2017-08-15 22:31:41 · 363 阅读 · 0 评论 -
Android源代码编译命令m/mm/mmm/make分析
Android源代码编译命令m/mm/mmm/make分析 在前文中,我们分析了Android编译环境的初始化过程。android编译环境初始化完成后,我们就可以用m/mm/mmm/make命令编译源代码了。当然,这要求每一个模块都有一个Android.mk文件。Android.mk实际上是一个Makefile脚本,用来描述模块编译信息。Android编译系统转载 2017-08-15 22:35:04 · 719 阅读 · 0 评论 -
理解Android编译命令
一、引言关于Android Build系统,这个话题很早就打算整理下,迟迟没有下笔,决定跟大家分享下。先看下面几条指令,相信编译过Android源码的人都再熟悉不过的。source setenv.shlunchmake -j12记得最初刚接触Android时,同事告诉我用上面的指令就可以编译Android源码,指令虽短但过几天就记不全或者忘记顺序,每次编译转载 2017-12-13 15:47:34 · 239 阅读 · 0 评论 -
Android CPU使用率
本文包含以下内容: 1.介绍常见的获取android cpu使用率的方法 2.介绍这些常见方法背后的原理 3.介绍我自己写的一个脚本,这个脚本可以获取各个线程在cpu各个核上的占用率一、常见的获取Android CPU使用率方法及其原理首先说一下如何查看cpu的基本信息,相信很多人也知道,使用下面的命令即可adb shell cat /proc/cpuinfo比如我转载 2018-01-09 14:39:53 · 7434 阅读 · 1 评论 -
/PROC/MEMINFO之谜
转至:http://linuxperf.com/?p=142/proc/meminfo是了解Linux系统内存使用状况的主要接口,我们最常用的”free”、”vmstat”等命令就是通过它获取数据的 ,/proc/meminfo所包含的信息比”free”等命令要丰富得多,然而真正理解它并不容易,比如我们知道”Cached”统计的是文件缓存页,manpage上说是“In-memory cach...转载 2018-11-16 18:03:49 · 497 阅读 · 0 评论 -
Android应用性能优化实践
本文出自:UDI COHEN,作者:Udi Cohen;译文出自:开发技术前线,译者:Zijian Wang几周前,我在Droidcon NYC上有过一次关于Android性能优化的演讲。我在这个演讲中花费了大量的时间,因为我想通过真实的例子展现性能问题,以及我是通过什么样的工具去发掘这些问题的。因为时间原因,在演讲中我不得不舍弃一半的内容。在这篇文章中,我会总结在演讲中我所讨论的转载 2015-11-06 15:47:49 · 1428 阅读 · 0 评论 -
Eclipse MAT内存分析
一、安装Eclipse MAT插件1.打开Eclipse->help->add->输入如下值2.勾选Memory Analyzer for Eclipse IDE选项3.一直点击next完成安装二、使用1.打开ADT的DDMS视图,在devices列表中选择一个进程(这里选择oschina app进行分析)并点击红框处,转载 2015-02-06 23:13:17 · 6437 阅读 · 1 评论 -
AIDL
1什么是AIDL编辑Android系统中的进程之间不能共享内存,因此,需要提供一些机制在不同进程之间进行数据通信。为了使其他的应用程序也可以访问本应用程序提供的服务,Android系统采用了远程过程调用(Remote Procedure Call,RPC)方式来实现。与很多其他的基于RPC的解决方案一样,Android使用一种接口定义语言(Interface转载 2014-10-10 12:27:04 · 594 阅读 · 0 评论 -
android事件
l Android的事件 事件:就是对象通知本身的状态发生了改变,并且可以通过该事件获取事件的相关信息。UI编程通常都会伴随事件处理,Android也不例外,它提供了两种方式的事件处理:基于回调的事件处理和基于监听器的事件处理。对于基于监听器的事件处理而言,主要就是为Android界面组件绑定特定的事件监听器;对于基于回调的事件处理而言,主要做法是重写Android组件特转载 2013-07-01 17:15:50 · 1403 阅读 · 0 评论 -
Fragment
AndroidFragment---概要介绍 一个Fragment代表一个行为或Activity中用户界面的一部分。你能够在一个Activity中组合使用多个Fragment来创建一个多面板的用户界面,并且可以在多个Activity中重用同个一个Fragment。你可以把一个Frament想象成一个Activity的模块,它有自己的生命周期,接受它们自己的输入事件,并且能够在Activity运转载 2013-07-03 19:07:34 · 1720 阅读 · 0 评论 -
动画
Android动画学习笔记-Android Animation 3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三种动画模式在SDK中被称为property animation,view animation,drawable animation转载 2013-07-03 14:59:33 · 1235 阅读 · 0 评论 -
Dalvik虚拟机的运行过程分析
在前面一篇文章中,我们分析了Dalvik虚拟机在Zygote进程中的启动过程。Dalvik虚拟机启动完成之后,也就是在各个子模块初始化完成以及加载了相应的Java核心类库之后,就是可以执行Java代码了。当然,Dalvik虚拟机除了可以执行Java代码之外,还可以执行Native代码,也就是C和C++代码。在本文中,我们就将继续以Zygote进程的启动过程为例,来分析Dalvik虚拟机的运行过程。转载 2014-06-10 15:11:29 · 727 阅读 · 0 评论 -
Dalvik虚拟机
Dalvik编辑Dalvik是Google公司自己设计用于Android平台的Java虚拟机。Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。它可以支持已转换为 .dex(即Dalvik Executable)格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系转载 2014-06-10 11:45:33 · 708 阅读 · 0 评论 -
java虚拟机和Dalvik虚拟机的区别
Google于2007年底正式发布了Android SDK, 作为 Android系统的重要特性,Dalvik虚拟机也第一次进入了人们的视野。它对内存的高效使用,和在低速CPU上表现出的高性能,确实令人刮目相看。 依赖于底层Posix兼容的操作系统,它可以简单的完成进程隔离和线程管理。每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例, 其代码在虚拟机的解释下得以执行。转载 2014-06-10 11:31:07 · 689 阅读 · 0 评论