开发者社区> sealin> 正文

Android--面试题整理(四)

简介: 版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/chaoyu168/article/details/51728623 31. 请解释下Android程序运行时权限与文件系统权限的区别。
+关注继续查看
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/chaoyu168/article/details/51728623

31. 请解释下Android程序运行时权限与文件系统权限的区别。

   Android程序执行需要读取到安全敏感项必需在androidmanifest.xml中声明相关权限请求, 打电话,访问网络,获取坐标,写sd卡,读写联系人等..安装的时候会提示用户…

-rw------ 私有权限 -rw-rw-rw- 全局可读可写  linux系统的文件权限

文件系统的权限是linux权限. 比如说sharedpreference里面的Context.Mode_private

 Context.Mode.world_read_able  Context.Mode_world_writeable 

777自己 同组 其他

 

root 是危险的行为

32. 系统上安装了多种浏览器,能否指定某浏览器访问指定页面?

Intent .setAction(VIEW)

setData("http://")

   找到对应的浏览器的意图,传递数据URI , 激活这个意图

       Intent intent = new Intent();

 // com.android.browser/.BrowserActivity

      intent.setClassName("com.android.browser", "com.android.browser.BrowserActivity");

      Intent.setdata(uri);

queryintentactivity(); 推广自己产品的操作

 

33. 对android主线程的运用和理解。

   主ui线程不能执行耗时的操作,


34. 对android虚拟机的理解,包括内存管理机制垃圾回收机制。

虚拟机很小,空间很小,谈谈移动设备的虚拟机的大小限制默认 16M

谈谈加载图片的时候怎么处理大图片的,

 

垃圾回收,没有引用的对象,在某个时刻会被系统gc掉.

System.gc(); 不是立刻去执行垃圾回收.

Moblietv 获取300 30K  频道.icon gallery

手机电视. 视频点播. Onstop() 通知gc();

别的界面图片 白板.

 

 

遇到一个不可复现的bug, 不解决 won'tfix

 

35. Framework工作方式及原理,Activity是如何生成一个view的,机制是什么。

反射 , 配置文件

 可以讲下activity的源码,比如说 每个activity里面都有window.callback和keyevent.callback,一些回调的接口或者函数吧. 框架把activity创建出来就会调用里面的这些回调方法,会调用activity生命周期相关的方法.

setContentView();

普通的情况:

Activity创建一个view是通过ondraw 画出来的, 画这个view之前呢,还会调用onmeasure方法来计算显示的大小.

 

Surfaceview 直接操作硬件  opengl .GLSurfaceView

图像要想被显示到界面上, 需要设备显卡, 显存.

写到显存.

 

 

 

36.  android本身的一些限制,比如apk包大小限制,读取大文件时的时间限。

 这个问题问的有问题, apk包大小限制不好说,

 极品飞车有100M 还是能装到手机上,

 

// apk 资源文件素材.

世面google market 上大程序  主程序 很小 5~10M    下载sdcard

15分钟之内 申请退款

apk包,精简包, 素材存放在服务器. 游戏程序.

 

读大文件的时间限制应该是main线程里面的时间限制吧.5秒.

 

37. 如何加载的音乐信息,如何改善其效率。

Mp3 作者信息 专辑 图片 歌词信息  id3id3v1 id3v2

Android提供mediascanner,mediaStore等接口, 音乐文件的信息都会存放到系统的数据库表中,可以通过content provider获取,

 

显示出来,改善效率,是个常见问题, 可以从以下几个方面作答,

分批加载数据, 延时加载数据, 合理使用缓存等...

 

Java虚拟机, 目标, 加快java程序执行速度

预先加载一些 都会的使用的大的class的字节码, 提前加载.

时间换时间

空间换时间 

 

 

38. ListView如何提高其效率?

 

 复用convertview, 历史的view对象

异步加载数据,  分页加载数据, onscallLinster();

Staticclass ViewHolder

使用静态的view对象 避免创建过多的view.

 

 

把下载后的数据缓存到数据库里 

客户端和服务器 协同 作战 .

Http 请求

If-modify-since: 检查数据是否更新  1.html 2001年  302 拿缓存

 

 

39. 启动应用后,改变系统语言,应用的语言会改变么?

 

40. 启动一个程序,可以主界面点击图标进入,也可以从一个程序中跳转过去,二者有什么区别?

 区别是根据activity在manifest里面的配置,这个activity可能会放在不同的task栈里面

intent设置的flag  flag_new_task

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
as3 ISOLIB学习资料整理
AS3isolib是一个基于ActionScript3的isometric库,网上关于它的资料很多。游戏开发的话,特别适合游戏的地图引擎开发,例如:策略类的七雄争霸那个外城地图。   资料收集: as3isolib googlecode as3isolib api 教程和实例>>   天地会9ria:http://wiki.
670 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
23586 0
Windows Route 路由表命令整理
Windows Route 路由表命令 在本地 IP 路由表中显示和修改条目。 语法 route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]] 参数 -f 清除所有不是主路由(网掩码为 255.255.255.255 的路由)、环回网络路由(目标为 127.0.0.0,网掩码为 255.255.255.0 的路由)或多播路由(目标为 224.0.0.0,网掩码为 240.0.0.0 的路由)的条目的路由表。
2280 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
20710 0
+关注
sealin
学无止境
348
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载