没有合适的资源?快使用搜索试试~ 我知道了~
Android开发一些重要知识点汇总.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 102 浏览量
2021-10-12
10:10:03
上传
评论
收藏 318KB DOC 举报
温馨提示
试读
52页
Android开发一些重要知识点汇总.doc
资源推荐
资源详情
资源评论
. . . .
Android
开发网上的一些重要知识点
单实例运行方法
我们都知道 平台没有任务管理器,而部 维护者一个 来实
现窗口显示和销毁,对于常规从快捷方式运行来看都是 可能会使用
标记来打开一个新窗口,比如 !",所以考虑单任务
的实现方法比拟简单,首先 #$ 纠正下大家一种错误的方法就是直接在
%&"'%( 的 ( 节点中参加 )(!*"+,-("",这句,
其实这样将不会起到任何作用, 部维护的历史栈作用于 ,我们必须在
节点中参加 )(!*"+,-("",这句才能保证单实例,当然一般均加在
主程序启动窗口的 。
#' 像素如何转为 设备独立像素
最近有..问如何将 ' 像素转为 独立设备像素,由于 的设备分辨率众多,目前
主流的为 /-,而很多老的设备为 - 甚至低端的 0-,对于兼容性来说使用 无非
是比拟方便的,由于他和分辨率无关和屏幕的密度大小有关,所以推荐使用。 '+12
13"456&277这里 开发网提示大家很多..获取 "1密度2的方法存在问题,
从资源中获取的是静态定义的,一般为 5 对于 8 是正好的,而对于 /- 这样的应
该从 /*-" 中获取, 为 6这里可以再补充一下 , 的知识
$ 中动态改变 %-""/ 大小
很多..可能发现在 (!'%( 文件中定义了 %-""/ 的绝对大小后,无法动态修改以后
的大小显示,其实 平台在设计 9 控件时考虑到这个问题,为了适应不同的
:/;(" 可以通过在 '%( 的相关 %-""/ 中参加 )(""+,&<,这行即可,
但因为使用了缩放可能会造成当前 9 有所变形。使用的前提是限制 %-""/ 所在的层,
可以使用一个嵌的方法限制显示。
=如何判断 手机当前是否联网>
如果拟开发一个网络应用的程序,首先考虑是否接入网络,在 手机中判断是否联
网可以通过"*-"类的 (;("12方法判断,首先获取网络通讯类的实
例"*-"
/?*-"+1"*-"2-""%""1"'@A
2B,使用 /?*-"-"""/&12(;("12B来返回是否有效,如果为
!" 那么表示当前 手机已经联网,可能是 或 CA、8:C 等等,具体的
可以通过 "*-"类的 -"""/&12方法判断详细的接入方式,需
要注意的是有关调用需要参加D!"E"%
)%"+,"%@A ,FD7!"E"%F
这个权限, 开发网提醒大家在真机上 *" 和 G/" 程序都使用了这个方法,
来判断是否继续,同时在一些网络超时的时候也可以检查下网络连接是否存在,以免浪费
手机上的电力资源。
6:/;("、G%、 和 C 的关系
很多..刚刚开始学习 平台,对于 :/;("、G%、 和 C 它们之间
的概念不是很清楚,其实它们除了 :/;(" 外早在 ! 的 H#* 中就已经出现了,但是
在 平台中,G%、 相关的都有所变化。 首先让我们理解下 平
台中的显示类是 "/,但是还提供了底层图形类 -,今天所说的这些均为
1 / 52
. . . .
- 底层图形接口。 G%E称作位图,一般位图的文件格式后缀为 ;%,当然编
码器也有很多如 AG6I6、AGJJJ。作为一种逐像素的显示对象执行效率高,但是缺点
也很明显存储效率低。我们理解为一种存储对象比拟好。 :/;("E作为 平下
通用的图形对象,它可以装载常用格式的图像,比如 、C、HC,当然也支持
G*C,当然还提供一些高级的可视化对象,比如渐变、图形等。 E名为画布,我
们可以看作是一种处理过程,使用各种方法来管理 G%、 或者 C 路径,同时它可
以配合 *' 矩阵类给图像做旋转、缩放等操作,同时 类还提供了裁剪、选取等
操作。 CE我们可以把它看做一个画图工具,比如画笔、画刷。他管理了每个画图工
具的字体、颜色、样式。 如果涉与一些 游戏开发、显示特效可以通过这些底层
图形类来高效实现自己的应用。
I 切换导致的 "" 重复执行
局部..会发现 在切换到后台或布局从横屏 :C 切换到 C@AA,会重
新切换 会触发一次 "" 方法,我们可以在 %&"'%( 中的 元
素参加这个属性 )&--"+,"K";8",即可,比如
D)%"+,#$,android:configChanges="orientation|
keyboardHidden")(;"(+,-7%",FLL同时在 的 H 文件中重
载 &-!-"1&-!"/&-2这个方法,这样就不会在布局切换
或窗口切换时重载 "" 等方法。代码如下)
[java]"/(>
@""LL
# LLLL!;(LL&-!-"1&-!L"/&-2LL
$ LLLLMLL
= LLLLLLLL!"&-!-"1"/&-2BLL
6 LLLLL&L1-"A"!"12-"&-!12"L++L&-!@A
@:C2LL
I LLLLLMLL
N 77(LL
J LLLLLOLL
P LLLLL"("L&L1-"A"!"12-"&-!12"L++L&-!
@A@C@AA2LL
5 LLLLLMLL
77LL
# LLLLLOLL
$ LLLLOLL
N 的 %-"G! 问题
很多..对 提供的 %-"G! 有个疑问,当显示 :/;(" 图片时就不会再显示
文字了,其实解决的方法有两种,第一种就是图片中就写入文字,但是这样解决会增加程
序体积,同时硬编码方式会影响多国语言的发布。第二种解决方法很简单,通过分析可以
2 / 52
. . . .
看到 %-"G! 的 (!,我们可以直接直接继承,添加一个 "'"/,对齐方式为右
侧即可实现 %-"G! 支持文字右侧显示。
J 代码优化技术
H 存控制 对于字符串操作而言如果需要连加这样的操作建议使用 -G!(",经
过调试不难发现如果你的字符串每次连加,使用 - 需要的存开销会远大于
-G!(",然后 手机常规的运行存大约在 #J*G 左右,对于运行多任务就需
要考虑了, 开发网提示因为 H 有 不需要手动释放那么分配的时候就要格外
的小心,频繁的 操作仍然是很影响性能的,在调试时我们可以通过 (- 查看存释放
情况。 #循环使用 平时在访问一个属性的时候效率远比一个固定变量低,如果你的循
环估计次数常常大于 6,假设..'""-12方法的值一般大于 6,推荐这样写,比如
&1+5BD..'""-12B442LL这里..'""- 在每次循环都要调用,必然会影响
程序效率,在游戏开发中显得更为明显,改良的方法应该为 ?+..'""-12LL
&1+5BD?B442LL$图片的优化 在 平台中 # 维图像处理库 G% 做的
比拟智能,为了减少文件体积和效率,常常不用很多资源文件,而把很多小图片放在一个
图片中,有切片的方式来完成,在 H#* 中我们这样是为了将少文件头而解决 *:C 这些
设备的问题,而 中虽然机型硬件配置都比拟高,有关 硬件配置可以参
考 手机参数以与评测,但是当资源多时这样的运行效率还是令人满意的,至少 :(
优化的还不是很够。
P 开发进阶之 @ 非阻塞包1一2
对于 的网络通讯性能的提高,我们可以使用 H 上高性能的 @1"/7@2技术
进展处理,@ 是从 H: = 开始引入的,@ 的 我们可以理解为 ;(- 即非阻塞
的意思,相对应传统的 7@,比如 " 的 "12、"12这些方法而言都是阻塞的。
@ 主要使用了 "( 和 "(" 来实现,H 的 "(" 类似 的 "(" 模
式,是一种基于事件驱动的,整个处理方法使用了轮训的状态机,如果你过去开发过
%; 应用的话这种方式有点像活动对象,好处就是单线程更节省系统开销,@ 的好
处可以很好的处理并发,对于 网游开发来说比拟关键,对于多点 " 连接而言
使用 @ 可以大大减少线程使用,降低了线程死锁的概率,毕竟手机游戏有 9 线程,音
乐线程,网络线程,管理的难度可想而知,同时 7@ 这种低速设备将影响游戏的体验。
@ 作为一种中高负载的 7@ 模型,相对于传统的 G@1G(-7@2来说有了很大的提高,
处理并发不用太多的线程,省去了创建销毁的时间,如果线程过多调度是问题,同时很多
线程可能处于空闲状态,大大浪费了 C9 时间,同时过多的线程可能是性能大幅下降,一
般的解决方案中可能使用线程池来管理调度但这种方法治标不治本。使用 @ 可以使并发
的效率大大提高。当然 @ 和 H: N 中的 @ 还存在一些区别,@ 作为一种更新的当然
这是对于 H 而言,如果你开发过 服务器,那么 @C 这样的 7@ 完成端口可以
解决更高级的负载,当然了今天 #$ 主要给大家讲解下为什么使用 @ 在
中有哪些用处。 @ 我们分为几个类型分别描述,作为 H 的特性之一,我们需要了
解一些新的概念,比如 G"G!&&" 类,
"(,""(,""""(,"(" 和 "(" "。有关具体
的使用, 开发网将在明天详细讲解。..可以在 : 文档中看下 ?
和 ?"( 两个包了解。#$7&7IP6%(
3 / 52
. . . .
了解下这种技术,看看在马上要做的项目中是否用得到
5"%" 和 (" 部定义解析
昨天我们讲到的有关在 *&"'%( 中定义 的 "%" 方法来实现无标题的
方法,在使用 '%( 让你的 无标题方法一文中讲到的,很多..不明白为什么这样做,
其实在 #$ 以前的文章中屡次提到了 (" 样式定义方法,今天 开发网再
次把一些..回顾了解下 样式的部定义。在一个工程的 "7(!"7"%"'%( 中我
们可以方便的定义自己的风格主题,比如下面的 /?"%" 中我们使用了基于 部
的白色调的背景 "%"-,设置 //(" 为 !" 代表没有标题,背景颜色我们
使用了 部定义的透明,同时设置 ("/ 控件的样式为 /?"/,'%( 样式代
码如下)
[html]"/(>
L<?xmlL"+,5,L"-+,!&EJ,?>LLL
# <resources>LLL
$ <styleL%"+,/?"%",L"+,)"%"-,>LLL
= LLL<itemL%"+,)//(",>!"</item>LLL
6 LLL<itemL%"+,)//G-!,>)(7
"</item>LLL
I LLL<itemL%"+,)("/(",>("7/?"/</item>LLL
N </style>LL有关 "/ 控件我们自定义的风格就是修改下系统 ("/
这个控件的每行分隔符样式,这里我们在工程下 "7/;(" 文件夹下
放一个图片名为 ("(" 图片,这样我们的 /?"/ 的代码可以
这样写 <styleL%"+,/?"/,L"+,)("7
-""/,>LLL
J LLLLL<itemL%"+,)("(",>/;("7("("</item>LLL
P LLL</style>LLL
5 </resources>LLL通过定义 (" 可以设置更多,比如让 /?"/ 的字
体颜色就参加 "'"" 属性,比如 <itemL%
"+,"'"",>)("7"'""</item>LLL
H@ 解析示例代码
来自 -(" 官方的有关 平台的 H@ 解析示例,如果远程服务器使用了 ? 而
不是 '%( 的数据提供,在 平台上已经置的 -? 包可以很方便的实现手机客户
端的解析处理。下面 #$ 一起分析下这个例子,帮助 开发者需要有关通
讯、正那么表达式、H@ 解析、-" 开发的一些知识。
[java]"/(>
!;(L(L-"L"'"L-"C"LML77-"LL
# LLLL@""LL
4 / 52
. . . .
$ LLLL!;(LL9"1"'L"'QL-"*-"L
-"*-"QLL
= LLLLLLLLLLLLRSL-"2LMLL
6 LLLLLLLL"'""1"/L"1"'QL9"""(22BL77
防止 A,所以 -" 中开了个服务
I LLLLOLLLLL!;(LL(L9"""L"'"L""LMLL
N LLLLLLLL@""LL
J LLLLLLLL!;(LL1"L"QLL2LMLL
P LLLLLLLLLLLL77LG!(L"L/-"L!"L&LLL
5 LLLLLLLLLLLLA"%""/L!""/L+L;!(9"12BLLLLLLLLLLLLL%
"%"L-"L+L"/L%"%"1QL-"(
2BLL
LLLLLLLLLLLL-"*-"L%-"L+L-"*-"-"
"12BLL
# LLLLLLLLLLLL%-"!"-"1-"QL!""/2BLL
$ LLLLLLLLOLLLLLLLLL!;(LA"%""/L;!(9"1"'L"'2LMLL
= LLLLLLLLLLLL77LCL!L%L%"L&%L"!"LL
6 LLLLLLLLLLLLA"!"L"L+L"'-"A"!"12BLL
I LLLLLLLLLLLL-RSL%%"L+L"-"-1A%%
"2BLLLLLLLLLLLLLL%"LL+L"/L%"12BLL
N LLLLLLLLLLLL"/12BLLLLLLLLLLLLL-L-"%"L+L"-"-1A
-"%("/("QLL
J LLLLLLLLLLLLLLLLLLLL%%"R%SQL%:2BLL
P LLLLLLLLLLLLA"%""/L!""/L+L!((BLL
#5 LLLLLLLLLLLL-L-""L+L,,BLLLLLLLLLLLLLLMLL
# LLLLLLLLLLLLLLLL%("8"("""9"-"1"'2BLL
## LLLLLLLLLLLLLLLL-""L+L%("8"("-"C-""1-"
%"QL&("2BLL
#$ LLLLLLLLLLLLOLL1'"L"2LMLL
#= LLLLLLLLLLLLLLLL-"1,-",QL,!(TLLC,QL"2BLL
#6 LLLLLLLLLLLLOLL1C"'"L"2LMLL
#I LLLLLLLLLLLLLLLL-"1,-",QL,!(TL"LCL"",QL"2BLL
#N LLLLLLLLLLLLOLLLLLLLLLLLLLC"L"L+LC"
("1%("8"("@A:@:A<2BL77正那么表达式处
理,有关定义见下面的 %("8"(" 类
#J LLLLLLLLLLLL*"L%"L+L"%"1-""2BLL
#P LLLLLLLLLLLL&L1%"&122LMLL
$5 LLLLLLLLLLLLLLLL!""/L+L"/LA"%""/1"'-"C-"%
"12QLA(!/-"/2BLLLLLLLLLLLLLLLLL-L/("L+L%"-!
12BLL
$ LLLLLLLLLLLLLLLL!""/""'"/"'1A/("QL/("2BLL
$# LLLLLLLLLLLLLLLL!""/""'"/"'1A/"QL%"-
!1#22BLL
5 / 52
剩余51页未读,继续阅读
资源评论
huayuya123
- 粉丝: 26
- 资源: 31万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功