河源网站制作,陵水媒体建站哪家好,海曙区网站开发培训,旅游网站开发建设方案1.我们都知道Handler是线程与Activity通信的桥梁#xff0c;假设线程处理不当。你的机器就会变得非常慢#xff0c;那么线程销毁的方法是#xff1a;#xff08;A#xff09;A. onDestroy()B. onClear()C. onFinish()D. onStop()理解#xff1a;正确销毁线程的方法应该是…1.我们都知道Handler是线程与Activity通信的桥梁假设线程处理不当。你的机器就会变得非常慢那么线程销毁的方法是A A. onDestroy() B. onClear() C. onFinish() D. onStop() 理解正确销毁线程的方法应该是handler.removeCallBacks()。 2.SharedPreferences保存文件的路径和扩展名是/data/data/package_name/shared_prefs/ *.xml. 3.Android的自己主动恢复功能可以完毕D A.回复地址簿 B.修复丢失的文字信息 C.回复删除的信息 D.恢复备份设置和数据来又一次安装程序 4.为满足线程间通信Android提供了A A.Handler和Looper B.Handler C.Message Queue D.Looper 理解Android提供了Handler和Looper来满足线程间通信Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(MessageExchange)。 1Looper:一个线程能够产生一个Looper对象。由他来管理此线程里的MEssageQueue消息队列 2Handler:能够构造Handler对象来与Looper沟通以便push新消息到MessageQueue或者接收Looper从Message Queue取出所送来的消息。 3Message Queue用来存放线程放入的消息 4UIThread就是主线程Android启动时会建立一个MessageQueue. 5.以下哪种进程最重要最后被销毁D A.服务进程 B.后台进程 C.可见进程 D.前台进程 理解重要性依次是前台进程、可见进程、服务进程、后台进程、空进程。所以销毁的顺序为逆方向。 6.在Android中在屏幕密度为160时1pt大概等于Bsp。 A.1.22 B.2.22 C.2.12 D.1.12 理解在Android中1pt大概等于2.22sp。 Android支持下列全部单位
1px 像素屏幕上的点 2in英寸长度单位 3mm毫米长度单位 4pt磅1/72英寸 5dp与密度无关的像素一种基于屏幕密度的抽象单位。在每英寸160点的显示器上1dp1px; 6dip 同dp 7sp 与刻度无关的像素与dp类似可是能够依据用户字体大小首选项进行缩放。 Apk的资源包中 当屏幕density240时。使用hdpi标签的资源。 当屏幕density160时使用mdpi标签的资源。 当屏幕density120时。使用ldpi标签的资源 1在屏幕密度为160时1dp1px1dip, 1pt160/72sp, 1pt1/72英寸。 2当屏幕密度为240时1dp1dip1.5px 7.通过Intent传递一些二进制数据的方法 1使用Serializable接口实现序列化这是java经常使用的方法 2实现Parcelable接口这里Android的部分分类比方Bitmap类已经实现了同一时候Parcelable在Android AIDL中交换数据也非经常见。 8.以下属于Android的动画分类的有A B A. Tween B. Frame C. Draw D. Animation 理解Tween动画能够使视图组件移动、缩放、旋转、透明度变化 Frame动画通过顺序的播放排列好的图片来实现类似电影 9.下列关于数据持久化的描写叙述正确的有BD A. 在内存中缓存多个Bitmap对象是一种数据持久化方法 B. SQLite数据库文件能够保存在SD卡中 C. ContentProvider的主要目的是为了将Android应用的数据持久化 D. 数据持久化就是将内存的数据保存到外存 10.将一个Activity设置成窗体样式仅仅须要设置Theme就可以。 11.Intent传递数据时。下列的数据类型不能够被传递的是D A. Serializable B. File C. Parcelable D. Thread 12.Android DVM的进程和Linux的进程下面说法错误的是D A.它们都是进程的一种 B. dvm是Android的虚拟机 C. Linux的进程是程序的详细实现。是运行程序的过程 D. dvm中能够创建多个进程来处理应用间的同步问题 理解每个Android应用程序都在它自己的进程中执行。都拥有一个独立的Dalvik虚拟机实例每个DVM都是在Linux中的一个进程。 13.Toast显示时长默认仅仅有2种分别为Toast.LENGTH_LONG和Toast.LENGTH_SHORT. 分别为2s和3.5s。其它的值都是无效的。 API文档尽管写的第三个參数是时间。可是Framework做了重定义限定了2s和3.5s两个值。 14.下列哪些情况下系统可能会弹出ANR对话框ABC A.在Activity中Main线程消息队列中的消息在5s内没有得到对应 B.在Service中onStartCommand()方法运行超过5s C.在BroadcastReceive中。onReceive()方法运行时间超过10s D.在启动的新线程中。run()方法运行时间超过5s 理解ANRApplication Not Responsing 1UI线程堵塞时间超过5s会ANR。 2Service属于主线程耗时操作要开启子线程 3在BroadcastReceive中onReceive的生命周期为10s所以里面的操作不能超过10s 15.在Android中使用Menu时可能须要重写的方法有AC A. onCreateOptionsMenu() B. onCreateMenu() C. onOptionsItemSelected() D. onItemSelected() 理解一个是创建菜单的方法一个是菜单项点击事件的方法。 16.下列关于IntentService与Service的关系描写叙述错误的是CD A. IntentService是Service的子类 B. IntentService在执行时会启动新的线程来执行任务 C. 启动方式不同 D.没有差别 理解IntentService是继承Service的包括了Service的所有特性也包括了Service的生命周期那么与Service不同的是。IntentService在运行onCreate()操作时候内部开了一个线程去运行耗时操作。 IntentService和Service的启动方式同样。都是通过startService()方法。 17.在多个应用中读取共享存储数据时须要用到query()方法这是哪个对象的方法A A. ContentResolver B. ContentProvider C. Cursor D. SQLiteHelper 理解ContentResolver和ContentProvider是一对。一个执行在提供数据端(provider),一个执行在调用端(resolver).使用的时候利用resolverquery,insert,update来调用provider的方法。然后provider再进行数据查询。 18.关于ServiceConnection接口的onServiceConnected()方法的触发条件描写叙述正确的是B A. bindService()方法运行成功后 B. bindService()方法运行成功同一时候onBInd()方法返回非空IBinder对象 C. Service的onCreate()方法和onBind()方法运行成功后 D. Service的onCreate()和onStartCommand()方法启动成功后 19.Android中使用SQLiteOpenHelper这个辅助类时。能够生成一个数据库并能够对数据库版本号进行管理的方法能够是AB A. getWriteableDatabase() B. getReadableDatabase() C. getDatabase() D. getAbleDatabase() 20.下面关于Toast说法正确的是BD A. Toast能编辑 B. Toast没有焦点 C. Toast能够获得用户输入 D. Toast仅仅能持续一段时间 理解Toast能够由程序猿自己定义可是用户是不能编辑的。用户也无法输入。 注意可编辑和自己定义的概念是不同的。 Toast和Dialog不同Toast是没有焦点的。 21.在一个ListView中。显示的布局有多种不同的形式。比如某些行仅仅有ImageView,而另外一些行仅仅有TextView.须要重写哪几个方法ABCD A. getCount() B. getItemId() C. getItemViewType() D. getViewTypeCount() 22.前台进程Foreground最重要通常最后被销毁 与用户当前正在做的事情密切相关。不同的应用程序组件可以通过不同的方法使它的宿主进程移到前台。当以下不论什么一个条件满足时可以考虑将进程移到前台 1进程正在执行一个与用户交互的Activity它的onResume()方法被调用 2进程有一个Service该Service相应的Activity正在与用户交互 3进程有一个Service被调用startForeground()方法要求到前台来运行 4进程有一个Service而且在Service的某个回调函数onCreate(),onStart(),onDestroy()内有正在运行的代码 5进程有一正在执行的BroadcastReceiver,它的onReceive()方法正在执行。 23.以下关于Android中定义style和theme的描写叙述正确的是AD A.都能够降低反复属性设置 B. style能够作用在Activity上 C. theme能够继承 D. 一个TextView的style中定义了textColor属性。TextView本身也设置textColor属性。那么TextView本身定义的优先级较高。 理解theme被final标记了。不能被继承 24.下列对Android NDK的理解正确的是ABCD A. NDK是一系列工具的集合 B. NDK提供了一份稳定、功能有限的API头文件声明 C. 使“javaC”的开发方式最终转正成为官方支持的开发方式 D. NDK将是Android平台支持C开发的开端 25.以下那条语句能够构造正确的对话框BC A. AlertDialog dialog new AlertDialog(context) B. AlertDialog.Builder builder new AlertDialog.Builder(context) C. ProgressDialog dialog new ProgressDialog(context) D. ProgressDialog.Builder builder new ProgressDialog.Builder(context) 理解AlertDialog的构造方法被声明为protected。所以不能直接使用new keyword来创建AlertDialog类的对象实例。要想创建AlertDialog对话框须要使用Builder类该类是AlertDialog类中定义的一个内嵌类。因此必须创建AlertDialog.Builder类的对象实例。 26.下列哪些情况系统会弹出Force Close对话框BC A. 应用执行时Main线程进行了耗时操作 B. 应用执行时抛出了OutOfMemoryError C. 应用执行时抛出了RuntimeException D. 应用执行时。用户操作过于频繁 理解注意区分ANR 和 Force Close。 A D会导致ANR。 27.Android中MVC模式C层指的是A A. Activity B. Service C. Content D. Intent 理解Android控制层的任务一般就是Activity来完毕。 视图层相应了Android中的View也能够理解为布局或者控件。 28.RemoteView在哪些功能中使用BD A. Toast B. AppWidget C. ListView D. Notification 29.关于BroadcastReceiver的说法不对的是B A. 是用来接收广播Intent的 B. 一个广播Intent仅仅能被一个订阅了此广播的BroadcastReceiver所接收 C. 对有序广播系统会依据接收者声明的优先级别按顺序逐个运行接收者 D. 接收者声明的优先级别在intent-filter的android:priority属性中声明数值越大表示优先级越高。 30.Android系统对下列哪些对象提供了资源池AC A. Message B. Thread C. Async Task D. Looper 理解 Message提供了消息池。有静态方法Obtain从消息池中取对象 Thread默认不提供资源池除非使用线程池ThreadPool管理 AsyncTask是线程池改造的默认提供最多5个线程进行并发操作 Looper创建时创建一个消息队列和线程对象。也不是资源池 31.Android中的R.java不能够手动改动。 理解自己主动生成无法改动。改动后编译器也会自己主动改回去。 32.Android DVM的进程和Linux的进程。应用程序的进程是否为同一个概念 【是】 理解DVM指dalvik虚拟机每一个Android程序都有一个独立的dvm实例每一个Android应用程序都在他自己的进程中执行。 而一个dvm实例都是作为Linux的进程运行的。能够觉得是一个概念。 补充Dalvik是Google公司自己设计用于Android平台的java虚拟机。每个Dalvik应用作为一个独立的Linux进程运行。独立的进程能够防止在虚拟机崩溃的时候全部程序都被关闭。 33.下列关于Android数字签名描写叙述错误的是C A.全部的应用程序都必须有数字证书。Android系统不会安装一个没有数字证书的应用程序 B.Android程序包使用的数字证书能够是自签名的不须要一个权威的数字证书机构签名认证 C.假设要正式公布一个Android程序能够使用集成开发工具生成的调试证书来公布 D.数字证书都是有有效期的。Android仅仅是在应用程序安装的时候才会检查证书的有效期。假设程序已经安装在系统中即使证书过期也不会影响程序的正常功能。 理解必需要使用一个合适的私钥生成的数字证书给程序签名而不能使用adt插件或者ant工具生成的调试证书来公布。 由于集成工具生成的调试证书不是一个包括开发人员信息取得开发人员授权的有效私有密钥。 34.Android中能够使用System.out.println(“ ”);在控制台显示想要的内容吗【不能】 理解使用System.out.println(“ ”);语句输出的内容也仅仅会出如今LogCat中。而不会出如今Console控制台中。显示的tag为System.out 35.通过startService()和bindService()。下面说法错误的是C A.通过startService()启动服务会调用例如以下生命周期方法onCreate()-onStart()-onDestroy() B.当採用startService()方法启动服务訪问者与服务是没有绑定在一起的訪问者退出服务还在执行 C.假设是调用bindService()启动服务会调用例如以下生命周期方法onCreate()-onBInd()-onDestroy()onUnbind() D.採用bindService()方法启动服务时 訪问者与服务是绑定在一起的即訪问者退出服务也就终止解除绑定 理解ConCreate()onBind()onUnbind()onDestroy() 36.使用AIDL完毕远程service方法调用下列说法不对的是A A. AIDL相应的接口名称不能与AIDL文件名称同样 B. AIDL的文件的额内容类似java代码 C.创建一个Service服务在服务的onBind(Intent intent)方法中返回实现了AIDL接口的对象 D. AIDL相应的接口的方法前面不能加訪问权限修饰符 理解AIDL相应的接口名称必须与AIDL文件名称同样否则无法自己主动编译 AIDL相应的接口的方法不能加訪问权限修饰符 37.【腾讯2015春招移动client开发练习卷】 Android中Looper的实现原理为什么调用Looper.prepare()就在当前线程关联了一个Looper对象。它是怎样实现的。 理解 1线程间通信机制首先LooperHandlerMessageQueue三者共同实现了Android系统里线程间通信机制。如在AB两个子线程之间须要传递消息。首先给每一个子线程绑定一套Handler,Looper,MessageQueue机制。然后这三个对象都与各自的线程相应。然后A线程通过调用B线程的Handler对象发送消息。这个消息会被Handler发送到B线程的MessageQueue中 而属于B线程的Looper对象一直在循环无限遍历MessageQueue一旦发现该消息队列里收到新的消息就会去对消息进行处理处理过程中会回调自身HandlerHandleMessage方法。从而实现了不同线程间通信。 2Looper实现原理Looper类里面包括一个消息队列对象和一个线程对象。当创建Looper时。会自己主动创建一个消息队列同一时候将内部线程对象指向创建Looper的线程。当开启Looper后Looper.loop()会自己主动进入无限for循环中不断去遍历消息队列假设没有消息则堵塞有消息则回调Handler的handleMessage()方法进行处理。 3Looper.prepare()首先要使用Looper机制通常会在当前线程中创建Handler对象里面会自己主动创建一个Looper对象和消息队列这里面的消息队列属于当前线程空间。但此时的Looper还不会去遍历。也没有绑定到当前线程。当中Looper对象内部也包括一个空消息队列对象和空线程。通过Looper.prepare()方法先让该消息队列指向当前线程的消息队列。让空线程也指向当前线程。从而实现了绑定。 38.【腾讯2015春招移动client开发练习卷】 简述Android怎样处理UI与耗时操作的通信有哪些方式及各自的优缺点。 理解。。。 AsyncTask本质上是一个线程池。全部的异步任务都会在这个线程池中的工作线程中运行当须要操作UI界面时会和工作线程通过Handler传递消息。 github主页https://github.com/chenyufeng1991 。欢迎大家訪问