Android开发
zhang6625214
dffd
展开
-
Google 技术交流会总结
之前参加深圳Google技术交流会,了解了有关于Android P版本的一些信息,下面主要列举下可能与我们App有关的一些知识点:a、Android P版本变更及应用兼容。1.必须将targetSdkVersion升级为26+、minVersionSdk升级为17+(App如果需要发布Google play市场,我们目前是minVersionSdk:16)。*2018年8月 新...原创 2019-04-03 09:40:01 · 362 阅读 · 0 评论 -
区分Activity的四种加载模式
在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。这需要为Activity配置特定的加载模式,而不是使用默认的加载模式。加载模式分类及在哪里配置Activity有四种加载模式:standardsingleTopsingleTasks转载 2013-08-30 15:03:00 · 299 阅读 · 0 评论 -
Task和Activity相关 史上最全的setFlag介绍
android:allowTaskReparenting 用来标记Activity能否从启动的Task移动到有着affinity的Task(当这个Task进入到前台时)——“true”,表示能移动,“false”,表示它必须呆在启动时呆在的那个Task里。 如果这个特性没有被设定,设定到元素上的allowTaskReparenting特性的值会应用到Activity上。默认值为转载 2013-11-18 09:40:38 · 541 阅读 · 0 评论 -
学习android内核 --View工作原理相关
View系统定义了从用户输入消息到消息处理的全过程。消息处理过程:1.用户触摸屏幕的消息或键盘消息等输入设置产生消息-〉转换成系统统一处理的消息值 -> 再分发到各窗口系统(由WmS判断用户正在与哪个窗口交互)。2.因为窗口都是由WmS创建的,所以其知所有窗口的信息,比如大小,位置等。3.如果是按键消息:则直接发送给当前窗口。4.如果是触摸消息:原创 2013-10-25 09:53:08 · 375 阅读 · 0 评论 -
学习android内核 -- 程序包管理(PackageManagerService)
PackageManagerService主要包括三部分内容:1.提供一个能够根据Intent匹配到具体的Activity、Provider、Service。即能把参数中指定的intent转换成一个具体的包含了程序包名及具体Component名称的信息。2.权限检查,即当调用某个需要一定权限的函数时,判断是否有执行权限,从而保证了系统安全。3.提供安装、删除应用程序接口。原创 2013-10-17 09:22:13 · 393 阅读 · 0 评论 -
学习android内核 -- 系统启动相关
参考自:《Android系统进程Zygote启动过程的源代码分析》 http://blog.csdn.net/luoshengyang/article/details/6768304 1.Android系统是基于Linux内核的,而在Linux系统中,所有的进程都是init进程的子孙进程,也就是说,所有的进程都是直接或者间接地由init进程fork出来的。Zygote进程也不例外,它是原创 2013-10-16 09:18:49 · 411 阅读 · 0 评论 -
4.2锁屏流程分析
前面对于MediaPlayer的系统研究,刚刚开始,由于其他原因现在要先暂停一下。这次要看的模块是android 4.2 系统中的Keyguard模块。在接触之后才发现,android4.2的keyguard模块与之前相比,变化挺大的,最起码名字上变化挺大的。由于对于Android系统了解不是很深入,而且知识和经验都比较弱,在文中肯定有不恰当或者错误的地方,请各位路过的大神不吝指正。 在An转载 2013-09-13 10:48:05 · 67 阅读 · 0 评论 -
4.2 Keyguard 流程分析
转自:http://www.cnblogs.com/haiming/p/2989678.html前面对于MediaPlayer的系统研究,刚刚开始,由于其他原因现在要先暂停一下。这次要看的模块是android 4.2 系统中的Keyguard模块。在接触之后才发现,android4.2的keyguard模块与之前相比,变化挺大的,最起码名字上变化挺大的。由于对于Android系统了解不转载 2013-09-13 11:34:44 · 1429 阅读 · 1 评论 -
Android中使用系统桌面背景作为应用背景,支持拖动
转自:http://blog.csdn.net/yao_guet/article/details/6572739在Android应用开发中,使用系统桌面背景作为应用的背景,需要把应用的背景设置为透明背景,然后设置窗口的属性为FLAG_SHOW_WALLPAPER即可显示背景。修改AndroidManifest.xml文件里面activity属性:转载 2013-09-11 09:54:49 · 293 阅读 · 0 评论 -
完整版linux下android源码下载、编译、模拟器启动运行(附源码目录结构说明)
转自:http://blog.csdn.net/xdhywj/article/details/8608243一、环境说明:1、VMware版本:8.0.3 build-7030572、liunx系统:Ubuntu10.103、jdk:sun-java6-jdk二、Ubuntu 10.10更新源列表 由于Ubuntu转载 2013-09-10 09:01:41 · 1005 阅读 · 0 评论 -
Android 全局异常处理
Java代码 package org.wp.activity; import java.io.File; import java.io.FileOutputStream; import java.io.FilenameFilter; import java.io.PrintWriter; import java.io.StringWriter转载 2013-07-15 15:29:47 · 294 阅读 · 0 评论 -
Android 内存优化
一、 Android的内存机制 Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的。C/C++中的内存机制是“谁污染,谁治理”,java的就比较人性化了,给我们请了一个专门的清洁工(GC)。 那么GC怎么能够确认某一个对象是不是转载 2013-07-15 09:30:02 · 272 阅读 · 0 评论 -
android4.2 动态显示/隐藏导航栏
转自:http://blog.csdn.net/tianxianbaobao1983/article/details/9424309原生android4.2 的导航栏是状态栏应用【SystemUI】的一部分,其显示/隐藏是通过配置选项【config_showNavigationBar】在PhoneWindowManager初始化时固定配置好的。一旦系统启动后,确认加载导航栏,运转载 2013-11-25 10:24:51 · 1559 阅读 · 1 评论 -
Android view中的requestLayout和invalidate方法
roid view中的requestLayout和invalidate方法1.requestLayout:当view确定自身已经不再适合现有的区域时,该view本身调用这个方法要求parent view重新调用他的onMeasure onLayout来对重新设置自己位置。特别的当view的layoutparameter发生改变,并且它的值还没能应用到view上,这时候适合调转载 2013-11-28 15:17:47 · 363 阅读 · 0 评论 -
十大技巧优化Android App性能
无论锤子还是茄子手机的不断冒出,Android系统的手机市场占有率目前来说还是最大的,因此基于Android开发的App数量也是很庞大的。那么,如何能开发出更高性能的Android App?相信是软件开发公司以及广大程序员们头疼的一大难题。今天,就给大家提供几个提高Android App性能的技巧。AD:WOT2015 互联网运维与开发者大会 热销抢票转载 2015-01-15 08:55:34 · 309 阅读 · 0 评论 -
Android 开发如何做好内存优化
Android的一个应用程序的内存泄露对别的应用程序影响不大。为了能够使得Android应用程序安全且快速的运行,Android的每个应用程序都会使用一个专有的Dalvik虚拟机实例来运行,它是由Zygote服务进程孵化出来的,也就是说每个应用程序都是在属于自己的进程中运行的。AD:WOT2015 互联网运维与开发者大会 热销抢票编者按:文中有些内容会有所争转载 2015-01-15 08:54:32 · 221 阅读 · 0 评论 -
ViewHolder模式超简洁写法,很cool!
ViewHolder是什么就不解释了。 大家通常怎么写ViewHolder呢?ViewHolder holder = null; if(convertView == null){ convertView = mInflater.inflate(R.layout.xxx null); holder = ne...转载 2014-05-28 16:11:58 · 299 阅读 · 1 评论 -
android源码解析 ---- camera 照相机 摄像机
文章出处:http://blog.csdn.net/dany1202/archive/2011/01/26/6164450.aspx 一.camera启动1.一个activity启动调用流程: onCreate()-->onStart()-->onResume() onCreate(): 1.可添加所需布局文件,画界面。 2.开启线程,启转载 2014-06-11 15:27:33 · 387 阅读 · 0 评论 -
安卓开发者必备的六个工具
作者Rex St.John不仅是UX-RX.com的创始人,还是AirPair里的安卓专家。作为一名手机软件高级工程师,他曾为世界500强的公司开发了一些企业级手机和平板应用。他开发的一个应用有数百万人使用。下面是安卓开发者必备的六个工具:No1.Genymotion每个对安卓模拟器熟悉的人都知道,启动模拟器再运行应用是一个多么漫长而乏味的过程。Genymotion通过提供一个超级快速转载 2014-03-14 16:54:07 · 444 阅读 · 0 评论 -
Android demo倒计时原理(CountDownTimer原理)
项目中用绑定手机号功能,发送之后2分钟倒计时。倒计时的功能用到了CountDownTimer类,这是android的一个工具类。很巧妙下面是这个类的原理解析,此类比较简单。但很强大。 1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031转载 2014-03-08 17:39:04 · 420 阅读 · 0 评论 -
Android 程序获取、设置铃声、音量、静音、扬声器
Android 程序获取、设置铃声和音量 通过程序获取android系统手机的铃声和音量。同样,设置铃声和音量的方法也很简单! AudioManagermAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); //通话音量 int max = mAudioManager.getStream转载 2014-03-08 08:59:53 · 493 阅读 · 0 评论 -
分析各种Android设备屏幕分辨率与适配 - 使用大量真实安卓设备采集真实数据统计
主要是为了总结一下 对这些概念有个直观的认识;.作者 : **万境绝尘 **转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/19899193.一. 数据采集源码GitHub地址 :-- SSH : git@github.com:han1202012/DisplayTest.转载 2014-03-08 17:48:37 · 564 阅读 · 0 评论 -
Android 屏幕适配
让应用自动适配多个分辨率的屏幕,是每个android程序员的基本功,就好像前端工程师熟练编写CSS Hack一样。适配工作中一个重要的工作就是对页面的调整。对于页面的适配,有很多的方法和技巧。比如布局中尽量使用wrapcontent ,fillparent,尽量避免具体的数字,由系统来计算合适的宽高;或者为每个分辨率写一套布局文件,设置对应分辨率下控件的宽高;为每一个分辨率写一套布转载 2014-03-08 17:41:19 · 367 阅读 · 0 评论 -
Android中使用gzip传递数据
HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常使用GZIP压缩技术来减少文件大小,减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。作者在写这篇博客时经过测试,4.4MB的文本数据经过Gzip传输到客户端之后变为392KB,压缩效率极高。一.服务端服务端有2种方式去压缩,一种可以自己压缩,但是更推转载 2014-01-24 10:18:34 · 386 阅读 · 0 评论 -
intent.setFlags方法中的参数值含义
一. intent.setFlags()方法中的参数值含义:1.FLAG_ACTIVITY_CLEAR_TOP:例如现在的栈情况为:A B C D 。D此时通过intent跳转到B,如果这个intent添加FLAG_ACTIVITY_CLEAR_TOP标记,则栈情况变为:A B。如果没有添加这个标记,则栈情况将会变成:A B C D B。也就是说,如果添加了FLAG_ACTIVITY_CLEA转载 2014-01-11 10:13:54 · 401 阅读 · 0 评论 -
Android字体大小设置自适应屏幕分辨率
在不同的分辨率下,Android字体大小怎么自适应分辨率的变化?假设需要适应320x240,480x320分辨率。在res目录下新建文件夹values-320x240, values-480x320。然后在文件夹 values ,values-320x240 和 values-480x320 下新建xml文件dimens.xml,该xml文件内容如下:转载 2013-06-20 09:36:43 · 2276 阅读 · 0 评论 -
android系统如何自适应屏幕大小
1、屏幕相关概念 1.1分辨率 是指屏幕上有横竖各有多少个像素 1.2屏幕尺寸 指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸 android将屏幕大小分为四个级别(small,normal,large,and extra large)。 1.3屏幕密度 每英寸像素数 手机可以有相同的分辨率,但屏幕尺寸可以不相同, Diago转载 2013-06-20 09:34:39 · 359 阅读 · 0 评论 -
Java中常用的加密方法(JDK)
加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。大体上分为双向加密和单向加密,而双向加密又分为对称加密和非对称加密(有些资料将加密直接分为对称加密和非对称加密)。双向加密大体意思就是明文加密后形成密文,可以通过算法还原成明文。而单向加密只是对信息进行了摘要计算,不能通过算法生成明文,单向加密从严格意思上说不能算转载 2013-06-19 11:42:20 · 279 阅读 · 0 评论 -
Handler+ExecutorService(线程池)+MessageQueue模式+缓存模式
转自 : http://www.eoeandroid.com/thread-210082-1-1.html[size=1.8em]Handler+Runnable模式我们先看一个并不是异步线程加载的例子,使用 Handler+Runnable模式。这里为何不是新开线程的原因请参看这篇文章:Android Runnable 运行在那个线程 这里的代码其实是在UI 主线程中下载转载 2013-04-27 09:26:09 · 347 阅读 · 0 评论 -
Activity的Launch mode详解 singleTask正解
转自http://hi.baidu.com/amauri3389/blog/item/a54475c2a4b2f040b219a86a.html参见:http://mypyg.iteye.com/blog/919643 http://marshal.easymorse.com/archives/2950 http://blog.csdn.net/infs转载 2013-04-10 18:08:41 · 251 阅读 · 0 评论 -
AndroidUI优化
1.layout组件化尽量使用merge及include复用 2.使用styles复用样式定义 3.软键盘的弹出控制,要让其覆盖输入框 4.数字、字母和汉字混排占位问题将数字和字母全角化。由亍现在大多数情冴下我们的输入都是半角,所以 字母和数字的占位无法确定,但是一旦全角化乊后,数字、字母的占位就和一个汉字的占位相同了,这样就可以避免由亍占位导致转载 2013-04-10 18:06:07 · 319 阅读 · 0 评论 -
“android.intent.category.DEFAULT”的目的是什么?
转自:http://blog.sina.com.cn/s/blog_98a12cb701013vv2.html1、要弄清楚这个问题,首先需要弄明白什么是implicit(隐藏) intent什么是explicit(明确) intent。Explicit Intent明确的指定了要启动的Acitivity ,比如以下Java代码:Intent intent= new转载 2013-04-11 10:24:43 · 319 阅读 · 0 评论 -
Android的内存机制和常见泄漏情形
一、 Android的内存机制 Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的。那么GC怎么能够确认某一个对象是不是已经被废弃了呢?Java采用了有向图的原理。Java将引用关系考虑为图的有向边,有向边从引用者指向引用对象。线程对象可以转载 2013-04-10 17:41:45 · 222 阅读 · 0 评论 -
Android性能优化
1.http用gzip压缩,设置连接超时时间和响应超时时间http请求按照业务需求,分为是否可以缓存和不可缓存,那么在无网络的环境中,仍然通过缓存的httpresponse浏览部分数据,实现离线阅读。2.listview 性能优化1).复用convertView在getItemView中,判断convertView是否为空,如果不为空,可复用。如果couvertvi转载 2013-04-10 18:04:06 · 292 阅读 · 0 评论 -
dispatchTouchEvent,onUserInteraction,onTouchEvent 调用时序
一、只有一个Activity时:一次拇指点击事件(包括ACTION_DOWN,ACTION_UP),调用时序如下:dispatchTouchEventonUserInteractiononTouchEvent (ACTION_DOWN)dispatchTouchEvent onTouchEvent (ACTION_UP,不会触发onUserInter转载 2013-03-25 14:22:58 · 997 阅读 · 0 评论 -
4种必须知道的Android屏幕自适应解决方案
http://www.eoeandroid.com/thread-173973-1-1.html转载 2013-03-25 16:10:27 · 307 阅读 · 0 评论 -
提高android开发速度快捷键
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下转载 2013-03-23 10:06:46 · 309 阅读 · 0 评论 -
标准的Activity Actions
ACTION_MAIN 作为一个主要的进入口,而并不期望去接受数据 ACTION_VIEW 向用户去显示数据 ACTION_ATTACH_DATA 别用于指定一些数据应该附属于一些其他的地方,例如,图片数据应该附属于联系人 ACTION_ED转载 2013-03-08 17:04:46 · 292 阅读 · 0 评论 -
Android中Intent对应的category列表大全
Android 1.5、1.6android.intent.category.ALTERNATIVE android.intent.category.BROWSABLE android.intent.category.DEFAULTandroid.intent.category.DEVELOPMENT_PREFERENCE android.inten转载 2013-03-08 17:02:37 · 541 阅读 · 0 评论 -
Activity生命周期之我见
关于Activity生命周期的文章很多,而且大部分也说得很详细,所以作为关于这方面的内容我本来不想多说,但是大家可能跟我之前一样,在看这方面的内容的时候都能很容易地看懂,但是过几天又忘了,或者在用的程序中跳转较多的情况下容易混淆。这是因为没有真正的理解,或者是没有很好的方法来记忆,所以在这里我就说一下我对Activity生命周期的一些记忆的方式,希望对大家能够有所帮助。Activity生命转载 2013-04-27 14:33:41 · 260 阅读 · 0 评论