android笔试题及答案
单选题
1.WebView中可以用来处理js中警示,确认等对话框的是(C)
A.WebSettings B.WebViewClient C.WebChromeClient D.WebViewChrome
2.假设assets目录下有文件结构html/hello.html,用loadUrl()方法将该网页加载至 webView
时,需传入的参数是 (B)
A.
B.
C.
D.
3.下列不属于补间动画相关类的是(B)
A.TranslateAnimation
B.FrameAnimation
C.RotateAnimation
D.AlphaAnimation
4.Android中网络互连中需要获取状态码,根据状态码来判断请求是否已经完成,下列状
态码表示请求完成的是(D)
A.100 B.202 C.404 D.200
5.关于ImageSwitcher 说法错误的是: ( B )
A.ImageSwitcher里可以通过Alpha设定转换时候的透明位
B.在使用一个ImageSwitcher之前,不一定要调用setFactory方法
C.setInAnimation是设置资源被读入到这个ImageSwitcher的时候动画效果
D.setOutAnimation是资源文件从这个ImageSwitcher里消失的时候要实现的动画效果
6.建立蓝牙连接时通过_D_方法来获取BluetoothAdapter对象
D. BluetoothAdapter.getDefaultAdapter()
7.关于Handler的说法不正确的是( A )
A.它实现不同进程间通信的一种机制
B.它避免了在新线程中刷新UI的操作
C.它采用队列的方式来存储Message
D.它实现不同线程间通信的一种机制
8.Vector和ArrayList的主要区别是(B):
A. ArrayList内部基于链表,而Vector是基于数组的
B. Vector的大部分方法做了同步,而ArrayList没有同步
C. Vector是可串行化的,而ArrayList不是
D. Vector实现了RandomAccess,而ArrayList没有
9.下列属于SAX解析xml文件的优点的是(B )
A.将整个文档输在内存中,便于操作,支持删除,修改,重新排列等多种功能
B.不用事先调入整个文档,占用资源少
C.整个文档调入内存,浪费时间和空间
D.不是长久驻留在内存,数据不是持久的,事件过后,若没有保存数据,数据就会消失
10.String a1="abc"; String a2="abc"; String a3="abcd"; 总共创建( A )个String对象。
A.2 B.3 C.5 D.6
多选题
1.在添加第一个appwidget窗口小部件时,会执行的方法是(ABD)
A.onReceive B.onEnabled C.onDisabled D.onUpdate
2.下列属于SOAP优点的是(ABCD)
A,SOAP 与编程语言无关。SOAP 可以使用任何语言来完成 B,SOAP 是完全和厂商无关。 C,SOAP 与平台无关
D,SOAP 是简单的,可扩展的
3.下列属于SAX解析XML需要用到的类和接口是(BCD)
A.DocumentBuilder B.SAXParser C.DefaultHandler D.SAXParserFactory
4.在使用蓝牙必须获取的权限是(AD)
5.Chronometer类的重要方法(ABC)
A.start B.stop C.setBase D.destory
简答题
1.oom是什么?如何避免?
当程序需要申请一段“大”内存,但是虚拟机没有办法及时的给到,即使做了GC操作以后这就会抛出
OutOfMemoryException 也就是OOM
避免:
1)减少内存对象的占用
I.ArrayMap/SparseArray代替hashmap
II.避免在android里面使用Enum
III.减少bitmap的内存占用
IV.减少资源图片的大小,过大的图片可以考虑分段加载
内存对象的重复利用
2)大多数对象的复用,都是利用对象池的技术。
I.listview/gridview/recycleview contentview的复用
II.inBitmap 属性对于内存对象的复用ARGB_8888/RBG_565/ARGB_4444/ALPHA_8
这个方法在某些条件下非常有用,比如要加载上千张图片的时候。
III.避免在ondraw方法里面 new对象
IV.StringBuilder 代替 +
2.SurfaceView & View 的区别
view的更新必须在UI thread中进行
surfaceview会单独有一个线程做ui的更新。
surfaceview 支持open GL绘制。
3.什么时候会发生内存泄露?内存泄露的根本原因?
长生命周期的对象持有短生命周期的对象。短周期对象就无法及时释放。
I. 静态集合类引起内存泄露
II.remove 方法无法删除set集 Objects.hash(firstName, lastName);
III. observer 我们在使用监听器的时候,往往是addxxxlistener,但是当我们不需要的时候,忘记removexxxlistener,
就容易内存leak。
IV.各种数据链接没有关闭,数据库contentprovider,io,sokect等。cursor
V.内部类:
java中的内部类(匿名内部类),会持有宿主类的强引用this。
所以如果是new Thread这种,后台线程的操作,当线程没有执行结束时,activity不会被回收。
Context的引用,当TextView 等等都会持有上下文的引用。如果有static drawable,就会导致该内存无法释放。
VI.单例
单例 是一个全局的静态对象,当持有某个复制的类A是,A无法被释放,内存leak。
4.横竖屏切换时Activity的生命周期
切换时的生命周期跟清单文件里的配置有关系。
不设置Activity的android:configChanges时,切屏会重新调用各个生命周期默认首先销毁当前activity,然后重新加
载。
设置Activity android:configChanges="orientation|keyboardHidden|screenSize"时,切屏不会重新调用各个生命
周期,只会执行onConfigurationChanged方法。
通常在游戏开发, 屏幕的朝向都是写死的。
5.handler机制的原理
andriod提供了 Handler 和 Looper 来满足线程间的通信。Handler 先进先出原则。Looper类用来管理
特定线程内对象之间的消息交换(Message Exchange)。
1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。
2)Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue里;或者接收
Looper从Message Queue取出)所送来的消息。
3) Message Queue(消息队列):用来存放线程放入的消息。
4)线程:UI thread 通常就是main thread,而Android启动程序时会替它建立一个Message Queue。
android笔试题及其参考答案
android笔试题及其参考答案android笔试题及其参考答案身为一个安卓工程师,面试的过程中自然免不了会要遇到笔试的题目,那么该怎么顺利通过笔试呢?下面小编就给大家分享一些android笔试题及其参考答案,希望能帮助你更好的通过面试,快来看看吧!android笔试题及其参考答案在android中,请简述jni的调用过程。
1)安装和下载Cygwin,下载 Android NDK2)在ndk项目中JNI接口的设计3)使用C/C++实现本地方法4)JNI生成动态链接库.so文件5)将动态链接库复制到java工程,在java工程中调用,运行java 工程即可简述Android应用程序结构是哪些?Android应用程序结构是:Linux Kernel(Linux内核)、Libraries(系统运行库或者是c/c++核心库)、ApplicationFramework(开发框架包)、Applications (核心应用程序)如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?onSaveInstanceState()当你的程序中某一个Activity A在运行时,主动或被动地运行另一个新的Activity B,这个时候A会执行onSaveInstanceState()。
B 完成以后又会来找A,这个时候就有两种情况:一是A被回收,二是A没有被回收,被回收的.A就要重新调用onCreate()方法,不同于直接启动的是这回onCreate()里是带上了参数savedInstanceState;而没被收回的就直接执行onResume(),跳过onCreate()了。
如何将一个Activity设置成窗口的样式。
在AndroidManifest.xml 中定义Activity的地方一句话android:theme="@android:style/Theme.Dialog"或android:theme="@android:style/Theme.Translucent"就变成半透明的请介绍下Android中常用的五种布局。
android考试试题及答案
android考试试题及答案 Android考试试题及答案 一、选择题(每题2分,共20分) 1. Android系统中,哪个类是所有Activity的基类? A. View B. Context C. Activity D. Application
答案:C 2. 在Android开发中,下列哪个布局不是线性布局? A. LinearLayout B. RelativeLayout C. FrameLayout D. ConstraintLayout 答案:B 3. 下列哪个方法用于在Activity中启动一个新的Activity? A. startService() B. startActivity() C. bindService() D. stopService()
答案:B 4. Android中,下列哪个不是Intent的常用标志? A. FLAG_ACTIVITY_NEW_TASK B. FLAG_ACTIVITY_CLEAR_TOP C. FLAG_ACTIVITY_MULTIPLE_TASK D. FLAG_ACTIVITY_NO_HISTORY
答案:C 5. 在Android中,下列哪个不是View的常用属性? A. id B. layout_width C. layout_height D. textSize
答案:D 6. Android中,下列哪个不是Fragment的生命周期方法? A. onCreate() B. onCreateView() C. onActivityCreated() D. onWindowFocusChanged()
答案:D 7. 在Android开发中,下列哪个不是Context的常用方法? A. getSystemService() B. startActivity() C. getApplicationContext() D. findViewById()
android笔试题及答案
单项选择题1.WebView 中能够用来办理js 中警告,确认等对话框的是(C)2.假定 assets 目录下有文件结构html/hello.html,用loadUrl()方法将该网页加载至webView 时,需传入的参数是( B)3.以下不属于补间动画有关类的是(B)4.Android 中网络互连中需要获得状态码,依据状态码来判断恳求能否已经达成,以下状态码表示恳求达成的是 (D)5.对于 ImageSwitcher 说法错误的选项是:(B)A.ImageSwitcher 里能够经过Alpha 设定变换时候的透明位B.在使用一个ImageSwitcher 以前,不必定要调用setFactory 方法C.setInAnimation 是设置资源被读入到这个ImageSwitcher 的时候动画成效D.setOutAnimation 是资源文件从这个ImageSwitcher 里消逝的时候要实现的动画成效6.成立蓝牙连结时经过_D_方法来获得BluetoothAdapter对象A.BluetoothAdapter.getBluetoothAdapterAdapter()B.BluetoothAdapter adapter=new BluetoothAdapter();C.BluetoothAdapter.BluetoothAdapterAdapter();D. BluetoothAdapter.getDefaultAdapter()优选7.对于 Handler 的说法不正确的选项是( A)A.它实现不一样进度间通讯的一种体制B.它防止了在新线程中刷新UI 的操作C.它采纳行列的方式来储存MessageD.它实现不一样线程间通讯的一种体制8.Vector 和 ArrayList 的主要差别是(B):A. ArrayList 内部鉴于链表,而Vector 是鉴于数组的B. Vector 的大多半方法做了同步,而ArrayList 没有同步C. Vector 是可串行化的,而ArrayList 不是D. Vector 实现了 RandomAccess,而 ArrayList 没有9.以下属于SAX分析 xml 文件的长处的是( B )A.将整个文档输在内存中,便于操作,支持删除,改正,从头摆列等多种功能B.不用预先调入整个文档,占用资源少C.整个文档调入内存,浪费时间和空间D.不是长远驻留在内存,数据不是长远的,事件事后,若没有保留数据,数据就会消逝10.String a1="abc"; String a2="abc"; String a3="abcd";总合创立( A )个String对象。
android考试题及答案
android考试题及答案Android考试题及答案一、选择题(每题2分,共20分)1. Android中,哪个类是所有Activity的基类?A. ViewB. ContextC. ActivityD. Application答案:C2. 在Android中,以下哪个方法用于启动一个新的Activity?A. startService()B. startActivity()C. bindService()D. stopService()答案:B3. Android中,下列哪个布局是线性布局?A. LinearLayoutB. RelativeLayoutC. ConstraintLayoutD. FrameLayout答案:A4. 在Android开发中,以下哪个不是View的子类?A. ButtonB. TextViewC. ImageViewD. Activity答案:D5. Android中,下列哪个不是资源文件的类型?A. drawableB. layoutC. animD. java答案:D6. 在Android中,如何获取当前Activity的Context对象?A. getApplicationContext()B. getContext()C. getBaseContext()D. this答案:D7. Android中,下列哪个方法用于结束当前Activity?A. finish()B. start()C. pause()D. stop()答案:A8. 在Android中,下列哪个不是Intent的常用标志?A. FLAG_ACTIVITY_NEW_TASKB. FLAG_ACTIVITY_CLEAR_TOPC. FLAG_ACTIVITY_MULTIPLE_TASKD. FLAG_ACTIVITY_SINGLE_TOP答案:C9. Android中,下列哪个不是AndroidManifest.xml文件中定义的组件?A. ActivityB. ServiceC. BroadcastReceiverD. Database答案:D10. 在Android中,下列哪个方法用于获取当前Activity的标题?A. getTitle()B. getActionBar()C. getToolbar()D. getSupportActionBar()答案:A二、填空题(每题2分,共20分)1. Android中的四大组件包括Activity、Service、BroadcastReceiver和____。
android考试试题及答案
android考试试题及答案一、单选题(每题2分,共20分)1. Android操作系统基于哪个开源项目?A. Windows CEB. FreeBSDC. LinuxD. Solaris答案:C2. Android应用程序的主线程是什么?A. UI线程B. 渲染线程C. 网络线程D. 音频线程答案:A3. 下列哪个不是Android四大组件之一?A. ActivityB. ServiceC. BroadcastReceiverD. DataProvider答案:D4. 在Android中,哪个类用于处理屏幕方向改变时Activity的重建?A. ConfigurationChangesB. OrientationChangeC. ScreenChangeD. ActivityLifecycle答案:A5. AndroidManifest.xml文件中,哪个属性用于指定应用程序的最小SDK版本?A. minSdkVersionB. targetSdkVersionC. maxSdkVersionD. compileSdkVersion答案:A6. 在Android开发中,下列哪个不是布局文件?A. LinearLayoutB. RelativeLayoutC. ConstraintLayoutD. JavaFile答案:D7. Android中,如何获取当前Activity的Context对象?A. getApplicationContext()B. getSystemService()C. getBaseContext()D. getClassLoader()答案:C8. Android中,下列哪个方法用于启动一个新的Activity?A. startActivity()B. finish()C. onDestroy()D. onPause()答案:A9. 在Android中,如何将一个Activity标记为在屏幕旋转时不销毁重建?A. setRetainInstanceState(true)B. setScreenOrientation()C. configChanges()D. setRequestedOrientation()答案:C10. Android中,下列哪个类用于处理网络请求?A. HttpClientB. HttpUrlConnectionC. AsyncTaskD. Thread答案:B二、多选题(每题3分,共15分)1. Android中,哪些是有效的数据存储方式?A. SharedPreferencesB. SQLite数据库C. 文件存储D. 网络存储答案:A, B, C2. 下列哪些是Android中的布局管理器?A. LinearLayoutB. RelativeLayoutC. ConstraintLayoutD. ViewPager答案:A, B, C3. 在Android中,哪些是有效的Intent传递数据的方式?A. 通过putExtra()方法B. 通过Bundle对象C. 通过startActivityForResult()D. 通过广播答案:A, B, C4. Android中,哪些是有效的线程处理方式?A. AsyncTaskB. ThreadC. HandlerThreadD. IntentService答案:A, B, C, D5. 在Android开发中,哪些是有效的图片加载库?A. GlideB. PicassoC. FrescoD. Volley答案:A, B, C三、简答题(每题10分,共30分)1. 请简述Android中的Activity生命周期。
【Android笔试题】android笔试题及答案
桥梁夜间施工方案一、背景随着城市建设不断发展,桥梁作为城市交通的重要组成部分,其建设、维护和施工具有重要性。
夜间施工是一种常用的解决方案,既可以减少对交通的影响,又可以提高施工效率。
本文将介绍桥梁夜间施工的方案和注意事项,以确保施工过程安全高效。
二、施工方案1.施工时间选择夜间施工时段一般在晚上10点至早晨6点之间,这个时间段相对交通繁忙的白天时段,交通流量较小,有利于施工和交通管理。
2.施工前准备施工前需对施工区域进行周全勘察和规划,确保施工区域的安全条件。
另外,需要提前布置好施工现场,包括设置合理的施工区域,并在必要位置设置围栏或警示标志,以确保施工区域的安全。
3.施工流程夜间施工流程一般包括以下步骤:- 施工准备:在施工前进行安全交底和动态交通管控,确保施工人员和交通流动的安全。
- 施工筹备:对施工现场进行清扫和整理,准备所需的施工设备、工具和材料,并进行检查和调试。
- 施工实施:根据预定的施工计划,按照施工流程进行操作,确保施工的质量和进度。
- 施工结束:施工结束后,进行清理和整理工作,收集和储存施工废料,并对施工现场进行彻底的清洁。
4.施工安全在桥梁夜间施工中,安全是一项关键考虑因素。
为此,需遵循以下几点来确保施工安全:- 制定详细的施工计划,明确各项工作的内容和要求。
- 为施工人员提供必要的安全装备和培训,确保其具备必要的安全意识。
- 建立完善的施工现场安全管理制度,严格按照规定的操作程序进行施工。
- 加强对施工现场的巡查和监督,及时发现和解决潜在的安全问题。
三、注意事项1.交通管控夜间施工期间,交通管控是至关重要的。
需要设置明显的交通警示标志和灯光,引导车辆绕行施工区域。
同时,要与交警部门和相关单位保持密切配合,确保交通管控的顺利进行。
2.施工噪音控制夜间施工容易对周边居民造成噪音干扰,因此需要采取有效的措施进行噪音控制。
可以选择低噪音的施工设备,同时设置隔音墙或采取其他隔音手段减少噪音对周边环境的影响。
【免费下载】30道android经典笔试题及答案
30道android经典笔试题及答案一、选择题(30题,每题1.5分,共45分) 1.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分类,按功能分为:(),如果为读取的内容进行处理后再输出,需要 一、选择题(30题,每题1.5分,共45分) 1.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分类,按功能分为:(),如果为读取的内容进行处理后再输出,需要使用下列哪种流?()A、输入流和输出流B、字节流和字符流C、节点流和处理流D、File streamE、Pipe streamF、Random streamG、Filter stream2.下列代码的执行结果是:() public class Test3{ public static void main(String args[]){ System.out.print(100%3); System.out.print(","); System.out.println(100%3.0); } } A、1,1 B、1,1.0 C、1.0,1 D、1.0,1.0 3.在继承中,关于构造方法的说明,下列说法错误的是() A、子类无条件的继承父类的无参构造方法, B、子类可以引用父类中的有参构造方法,使用super关键字, C、如果子类没有构造方法,则父类无参构造方法作为自已的构造方法, D、如果子类有无参构造方法,而父类的无参构造方法则被覆盖。
4.以下程序的运行结果为( ) public class IfTest{ public static void main(String args[]){ int x=3; int y=1; if(x==y) System.out.println("Not equal"); else System.out.println("Equal"); } }A、Not equalB、EqualC、无输出D、编译出错 5.Java语言中字符串“学Java”所占的内存空间是() A. 6个字节 B. 7个字节 C. 10个字节 D. 11个字节 6.关于下列程序段的输出结果,说法正确的是:( ) public class MyClass{ static int i; public static void main(Stringargv[]){ System.out.println(i); } } A、有错误,变量i没有初始化。
