android笔试题二

1、android系统架构:

Linux内核——标准库——Framework层——应用层

Linux层包括:Android系统的核心服务,硬件驱动,进程管理,系统安全等等

2、UI界面框架图:

3、View的测量模式:EXACTLY,AT_MOST,UNSPECIFIED。

4、自定义View与ViewGroup的时候应该注意什么?

自定义ViewGroup的时候应该注意重写onLayout来控制子类显示的位置。

如果需要支持wrap_content还要重写onMeasure()。

自定义View的时候,如果需要支持wrap_content,需要重写onMeasure().

5、自定义view的种类:

(1)、对已有的组件进行拓展

(2)、通过组合来实现新的控件

(3)、重写View来实现全新的控件

6、实现滑动的方法:

(1)、通过layout方法。

(2)、通过LayoutParam来改变一个view的位置(必须有一个父布局才能够获取到组件的LayoutParam)。

(3)、scrollTo,scrollBy方法。(移动的是组件里面的内容,dx和dy如果是负数的话,那么内容往正方向移动,正数则往负方向移动)。

(4)、Scroller。

(5)、属性动画。

(6)、ViewDragHelper

(7)、offsetLeftAndRight()同时对左和右进行偏移。

offsetTopAndBottom()同时对上和下进行偏移。

7、独立像素dp与px的换算:

android系统使用mdpi即密度值为160的屏幕作为标准,在这个屏幕上,1px=1pd,各个分辨率直接的换算比例为:

ldpi:mdpi:hdpi:xhdip:xxhdpi=3:4:6:8:12

8、SurfaceView与View的区别:

(1)、View主要用于主动更新的情况,而SurfaceView主要用于被动更新的情况,例如频繁地刷新。

(2)、View是在主线程中进行刷新的,而SurfaceView是通过一个子线程来刷新页面的。

(3)、View在绘图的时候没有采用双缓冲机制,而SurfaceView在底层实现机制中就已经实现了双缓冲机制。

9、android的安全机制:

(1)、第一道防线:代码安全机制——代码混淆proguard。

(2)、第二道防线:应用接入权限控制——AndroidMainifest文件权限声明、权限检查机制。

(3)、第三道防线:应用签名机制——数字证书(Android系统不会安装没有签名的APP)。

(4)、第四道防线:Linux内核层安全机制——Uid访问权限控制

(5)、第五道防线:Android虚拟机沙箱机制——沙箱隔离

时间: 2024-10-03 23:15:23

android笔试题二的相关文章

2014金山网络实习生招聘——Android笔试题

一.请用伪代码描述,在Android系统上启动和停止Service有哪些方法,并说明这些方法导致Service的生命周期有何不同? 二.输入一个正整数 X,以2*X,4*X,8*X的方式递增,当大于10000时,再倒叙输出已经输出的整数.[要求:不得使用循环和其他任何变量(包含局部变量)辅助] 比如 X= 2468,输出结果为: 2468,4936,9872,19744,19744,9872,4936,2468 三.有两个字符串由不同的字母组成,一长一短,长的为A,短的为B.设计一个算法,如果所

某支付公司笔试题二

题目:用java编写一段程序采用选择排序法对数组array = {25,15,42,16,12,36}进行由小到大排序. 1.选择排序法 该排序法的思想是每次从当前元素开始往后查找最小元素,将最小与当前元素进行位置互换.选择排序和冒泡排序相比优势在于交换次数减少. // 时间复杂度n(n-1)/2,即O(n^2) public static void selectSort(int[] array){ int k,tmp,len; len=array.length; for(int i=0;i<l

android笔试题一

1.Android DVM(Dalvik VM)的进程和Linux的进程, 应用程序的进程是同一个概念吗? DVM(Dalvik VM)指dalvik的虚拟机.每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例.而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念.运行在自己的DVM进程之中,不同的app不会相互干扰,且不会因为一个DVM的崩溃导致所有的app进程都崩溃. Android 运行环境主要指的虚拟机技术--Dalvik.An

android笔试题集2

1.请谈一下Android系统的架构.答:Android系统采用了分层架构,从高层到低层分别是应用程序层.应用程序框架层.系统运行库层和linux核心层. 2.谈谈android大众常用的五种布局.答: 在Android中,共有五种布局方式,分别是:FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局).(1)FrameLayout 框架布局,放入其中的所有

Java常见笔试题&lt;二&gt;

1.静态代码块.非静态代码块.构造函数的输出顺序 情况一:没有继承父类时 1 class HelloA { 2 3 public HelloA() { 4 System.out.println("I'm A class"); 5 } 6 7 static { 8 System.out.println("static A"); 9 } 10 11 { 12 System.out.println("A"); 13 } 14 15 public sta

android笔试题

1.请谈一下Android系统的架构. 答:Android系统采用了分层架构,从高层到低层分别是应用程序层.应用程序框架层.系统运行库层和linux核心层. 2.谈谈android大众常用的五种布局. 答:在Android中,共有五种布局方式,分别是:FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局). (1)FrameLayout  框架布局,放入其中

Java笔试题二:读程序

1 public class SopResult { 2 3 public static void main(String[] args) { 4 5 int i = 4; 6 System.out.println("The result is: " + ((i > 4) ? 9.99 : 9)); 7 } 8 9 } 读程序,输出结果:The result is: 9.0 分析可知,本程序相当于: 1 public class SopResult { 2 3 public st

常见笔试题(二)

6.用obj-c写一个冒泡排序 -(void)mySort:(NSMutableArray *)mutArray { id tmpObj = nil; unsigned long flag = mutArray.count-1;//flag :最大脚标 while (flag > 0) { int k = flag; flag = 0; for (int j = 0 ; j < k ; j++) { int order = NSOrderedAscending;// 或 NSOrderedDe

2016去哪网笔试题二

第二道题目的题意大概是给定三个无序数组A,B,C:这三个数组中各自的数字没有重复,但是可能存在同时在三个数组中的数字. 如果有请按从小到大的顺序输出,如果没有不输出. 1 #include <iostream> 2 #include <vector> 3 #include <stdio.h> 4 #include <stdlib.h> 5 //#include <cstdio.h> 6 #include <string> 7 #inc