android面试题(6)

更新时间:2023-05-13 00:04:50 阅读: 评论:0

android面试题(6)
找到对应的浏览器的意图,传递数据URI , 激活这个意图年级的的母亲3
Intent intent = new Intent();
intent.tClassName(packageName, className);
Intent.tdata(uri);
33. 对android主线程的运用和理解。
主ui线程不能执行耗时的操作,
34. 对android虚拟机的理解,包括内存管理机制垃圾回收机制。
虚拟机很小,空间很小,谈谈移动设备的虚拟机的大小限制 16M ,
谈谈加载图片的时候怎么处理大图片的,
垃圾回收,没有引用的对象,在某个时刻会被系统gc掉.
(); 不是立刻去执行垃圾回收.
手机电视. 视频点播. Onstop() 通知gc();
厘组词
别的界面图片 白板.
遇到一个不可复现的bug, 不解决 won't fix
35. Framework工作方式及原理,Activity是如何生成一个view的,机制是什么。
反射 , 配置文件
可以讲下activity的源码,比如说 每个activity里面都有window.callback和keyevent.callback,一些回调的接口或者函数吧. 框架把activity创建出来就会调用里面的这些回调方法,会调用activity生命周期相关的方法.
tContentView();苹果越狱
答谢辞普通的情况:
Activity创建一个view是通过 ondraw 画出来的, 画这个view之前呢,还会调用onmeasure方法来计算显示的大小.
Surfaceview 直接操作硬件 opengl .
图像要想被显示到界面上, 需要设备显卡, 显存.
写到显存.
36. android本身的一些限制,比如apk包大小限制,读取大文件时的时间限。
这个问题问的有问题, apk包大小限制不好说,
极品飞车有100M 还是能装到手机上,
世面google market 上大程序 主程序 很小 5~10M 下载sdcard
头痛的原因有哪些15分钟之内 申请退款
apk包,精简包, 素材存放在服务器. 游戏程序.
读大文件的时间限制应该是main线程里面的时间限制吧.5秒.
37. 如何加载的音乐信息,如何改善其效率。
Android提供mediascanner,mediaStore等接口, 音乐文件的信息都会存放到系统的数据库表中,可以通过content provider获取,
显示出来,改善效率,是个常见问题, 可以从以下几个方面作答,
京东退款分批加载数据, 延时加载数据, 合理使用缓存等...
Java虚拟机, 目标, 加快java程序执行速度
预先加载一些 都会的使用的大的class的字节码, 提前加载.
时间换时间
空间换时间
38. ListView如何提高其效率?
复用convertview , 历史的view对象
异步加载数据, 分页加载数据, onscallLinster();怎么找客户
Static class ViewHolder
使用静态的view对象 避免创建过多的view.
把下载后的数据缓存到数据库里
客户端和服务器 协同 作战 .
Http 请求
If-modify-since : 检查数据是否更新 1.html 2001年 302 拿缓存
39. 启动应用后,改变系统语言,应用的语言会改变么?
40. 启动一个程序,可以主界面点击图标进入,也可以从一个程序中跳转过去,二者有什么区别?
区别是根据activity在manifest里面的配置,这个activity可能会放在不同的task栈里面
intent设置的flag flag_new_task
41. Android程序与Java程序的区别?
Android程序用android sdk开发,java程序用javasdk开发.
Android SDK引用了大部分的Java SDK,少数部分被Android SDK抛弃,比如说界面部分,java.awt swing package除了java.awt.font被引用外,其他都被抛弃,在Android平台开发中不能使用。
android sdk 添加工具jar httpclient , pull openGL
将Java 游戏或者j2me程序移植到Android平台的过程中,
贵州花溪
Android SDK 与Java SDK的区别是很需要注意的地方。
1.6的 不支持 httpUrlconning 获取 last-modified 信息的处理
simpleDataFormat
42. Android中Task任务栈的分配。
假如有三个Activity A B C,A跳到B,然后B跳到C,现在需要从C跳到A如何传递数据而且使效率最高呢?
首先我们来看下Task的定义,Google是这样定义Task的:a task is what the ur experiences as an "application." It's a group of related activities, arranged in a stack. A task is a stack of activities, not a class or an element in the manifest file. 这意思就是说Task实际上是一个Activity栈,通常用户感受的一个Application就是一个Task。从这个定义来看,Task跟Service或者其他Components是没有任何联系的,它只是针对Activity而言的。
Activity有不同的启动模式, 可以影响到task的分配
Task,简单的说,就是一组以栈的模式聚集在一起的Activity组件集合。它们有潜在的前后驱关联,新加入的Activity组件,位于栈顶,并仅有在栈顶的Activity,才会有机会与用户进行交互。而当栈顶的Activity完成使命退出的时候,Task会将其退栈,并让下一个将跑到栈顶的Activity来于用户面对面,直至栈中再无更多Activity,Task结束。
事件 Task栈(粗体为栈顶组件)
点开Email应用,进入收件箱(Activity A) A
选中一封邮件,点击查看详情(Activity B) AB
点击回复,开始写新邮件(Activity C) ABC
写了几行字,点击选择联系人,进入选择联系人界面(Activity D) ABCD
选择好了联系人,继续写邮件 ABC
写好邮件,发送完成,回到原始邮件 AB
点击返回,回到收件箱 A
退出Email程序 null
如上表所示,是一个实例。从用户从进入邮箱开始,到回复完成,退出应用整个过程的Task栈变化。这是一个标准的栈模式,对于大部分的状况,这样的Task模型,足以应付,但是,涉及到实际的性能、开销等问题,就会变得残酷许多。

本文发布于:2023-05-13 00:04:50,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/890205.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:加载   程序   数据
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图