• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Android开发找工作之前先看看这些知识点吧

Android开发找工作之前先看看这些知识点吧

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android开发找工作,android开发基础知识,android开发知识,android开发知识点,android开发等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Android开发找工作之前先看看这些知识点吧


1.Listview列表效率优化

(1)利用convertview回收视图
(2)采用ViewHolder模式
(3) 异步加载图片
(4) 快速滑动时不加载图片
(5) 如果自定义的item中有图片,需要处理图片(减少图片所占内存)
a.对图片进行边界压缩 b.用option类来保存图片大小 c.避免图片的实时缩放,最好预先缩放到视图大小
(6)尽量避免在listview适配器中使用线程,因为线程是产生内存泄露的主要原因在于线程的生命周期不可控。

2.应用内存优化

(1)bitmap设置图片大小(优化内存溢出)
BitmapFactory.Option option = new BitmapFactory.Option();
option.inSampleSize = 2; //将视图宽、高都变为原来的1/2
(2)bitmap对象销毁,可以借助recycle()方法让GC回收bitmap对象。
(3)尽量避免static成员变量引用资源消耗过多的实例,如:context
(4)使用Application的context
(5)及时关闭资源,如在查询数据库时需要及时关闭cursor
(6)对经常使用的图片使用软引用保存
(7)线程也是造成内存泄露的一个重要原因,在于线程的生命周期不可控制,解决方法:
a.将线程内部类改为静态内部类
b.用弱引用来保存context引用
(8)使用.9图片

3.什么是ANR 如何避免它?

ANR:Application Not Responding,五秒在Android中,活动管理器和窗口管理器这两个系统服务负责监视应用程序的响应。当出现下列情况时,Android就会显示ANR对话框了:
对输入事件(如按键、触摸屏事件)的响应超过5秒
意向接受器(intentReceiver)超过10秒钟仍未执行完毕

Android应用程序完全运行在一个独立的线程中(例如main)。这就意味着,任何在主线程中运行的,需要消耗大量时间的操作都会引发ANR。因为此时,你的应用程序已经没有机会去响应输入事件和意向广播(Intent broadcast)。

因此,任何运行在主线程中的方法,都要尽可能的只做少量的工作。特别是活动生命周期中的重要方法如onCreate()和 onResume()等更应如此。潜在的比较耗时的操作,如访问网络和数据库;或者是开销很大的计算,比如改变位图的大小,需要在一个单独的子线程中完成 (或者是使用异步请求,如数据库操作)。但这并不意味着你的主线程需要进入阻塞状态已等待子线程结束 — 也不需要调用Therad.wait()或者Thread.sleep()方法。取而代之的是,主线程为子线程提供一个句柄(Handler),让子线程 在即将结束的时候调用它。使用这种方法涉及你的应用程序,能够保证你的程序 对输入保持良好的响应,从而避免因为输入事件超过5秒钟不被处理而产生的ANR。这种实践需要应用到所有显示用户界面的线程,因为他们都面临着同样的超时 问题。

4.什么情况会导致Force Close ?如何避免?能否捕获导致其的异常?

一般像空指针啊,可以看起logcat,然后对应到程序中 来解决错误

5.横竖屏切换时候activity的生命周期?

1)、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次
2)、设置Activity的android:configChanges=”orientation”时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次
3)、设置Activity的android:configChanges=”orientation|keyboardHidden”时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法

6.Android引入广播机制的用意?

a:从MVC的角度考虑(应用程序内)
android的四大组件本质上就是为了实现移动或者说嵌入式设备上的MVC架构,它们之间有时候是一种相互依存的关系,有时候又是一 种补充关系,引入广播机制可以方便几大组件的信息和数据交互。
b:程序间互通消息(例如在自己的应用程序内监听系统来电)
c:效率上(参考UDP的广播协议在局域网的方便性)
d:设计模式上(反转控制的一种应用,类似监听者模式)

7. Android中如何防止apk被反编译

8. 多线程结合异步回调的使用。

9. Android物种数据存储方式及使用。

10. 解析XML文件的几种方式,及优缺点。

XML解析主要有三种方式,SAX、DOM、PULL。常规在PC上开发我们使用Dom相对轻松些,但一些性能敏感的数据库或手机上还是主要采用SAX方 式,SAX读取是单向的,优点:不占内存空间、解析属性方便,但缺点就是对于套嵌多个分支来说处理不是很方便。而DOM方式会把整个XML文件加载到内存 中去,这里Android开发网提醒大家该方法在查找方面可以和XPath很好的结合如果数据量不是很大推荐使用,而PULL常常用在J2ME对于节点处 理比较好,类似SAX方式,同样很节省内存,在J2ME中我们经常使用的KXML库来解析。Android的xml文件解析就是通过pull解析的。

11. Android消息处理机制(Handler、Looper)的使用。

12. 如果Activity被回收怎么办?

Activity在销毁时会调用onSaveInstanceState(Bundle bundle)方法,这时可以对数据进行存储,在Activity再次onCreate(Bundle bundle)的时候去获取bundle对象读取数据。

13. MVC的使用。

14. 问项目中会用到什么设计模式,举例等。

15. Android四大组件,是做什么用的

16.如何监听程序crash信息

Activity implement UncaughtExceptHandler 接口

17.anr日志写在哪里的

可以通过命令行获取trace.txt文件

18.tomcat做什么用

把电脑配置成服务器

19.dp、sp什么区别

20.handler机制原理是什么

21.子线程能操作UI吗

子线程不能直接操作UI,但是可以通过以下方法进行操作:
Activity.runOnUiThread()
View.post()
Handler
AsyncTask

22.mvc的理解,在开发时怎么展现

23.用过的第三方框架的原理

24.http请求结果,返回数值的理解

200:请求成功
401:未认证
403:禁止访问
404:找不到指定资源
500:服务器内部错误
504:网关超时

25.activity生命周期

onCreate:初始化数据
onStart:页面可见、不可交互
onResume:页面可见、可交互
onPause:页面可见、不可交互,保存数据
onStop:页面不可见
onDestory:销毁页面
onRestart

26.怎么退出一个应用

System.exit(0);

27.怎么在android 应用里打开浏览器,对应intent要指定什么类型

Intent intent=new Intent("android.intent.action.View");
intent.setData(Uri.prase("www.baidu.com"));
intent.setClassName();//指定浏览器

28.自定义的接口是什么样的

29.post和get的区别

get:用于请求数据,参数附在url后面,http本身对请求长度没有限制,但某些浏览器和服务器对长度有限制
post:用于发生数据,参数放在请求体中,更安全

30.http和https的区别

31.怎么回收String对象

32.怎么进行垃圾回收

33.线程间的通信

34.HashMap和HashTable的区别

HashMap是JDK1.2之后推出的,允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。

35.Map的子类

HashMap:无序,不能重复,键可以为null
HashTable:无序,不能重复,键不可以为null
TreeMap:有序,不能

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android开发找工作之前先看看这些知识点吧

相关文章

  • 2017-05-26网上商城4--首页二级分类的查询,4--二级分类
  • 2017-05-26Android实战简易教程-第六十六枪(服务器端搭建和服务器端Json数据交互)
  • 2017-05-26Android 手机卫士13--进程设置,android13--
  • 2017-05-26android去掉滑动到顶部和底部的阴影,android到顶部
  • 2017-05-26[转]File Descriptor泄漏导致Crash: Too many open files,descriptorcrash
  • 2017-05-26解析View的getDrawingCache方法,getdrawingcache
  • 2017-05-26使用Eclipse开发Android源码
  • 2017-05-26Android 退出app,后台推送的服务也停止了,怎么可以做到不停止后台服务呢?,androidapp
  • 2017-05-26Android Studio: Error:Cannot locate factory for objects of type DefaultGradleConnector, as ConnectorServiceRegistry,locateregistry
  • 2017-05-26android_m2repository_rxx.zip下载地址以及MD5,androidm2repository

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android之解析XML,androidxml
    • Java反射在Android中的使用,java反射android
    • listview下拉刷新和上拉加载更多的多种实现方案,listview下拉
    • greendao3.2.3配置时遇到的问题,greendao3.2.3遇到
    • Android系统服务(一)解析ActivityManagerService(AMS)
    • 2.3.7 ProgressBar(进度条)
    • 注册时获取验证码常用的倒计时工具,注册时验证码
    • traceroute和tracert的区别
    • Linux大文件已删除,但df查看已使用的空间并未减少解决
    • Android多分辨率适配实践【1】使用字体图标(内含两枚神器),android两枚

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有