面试知识点总结01

1.Android 版本Bug

想必使用过 Android 5.0.1 系统的用户对内存泄露 bug 不会感到陌生,此缺陷不仅会导致内存占用过高,还会进而致使应用及其后台进程被强制关闭,甚至是系统界面崩溃等。

  内存泄露

  信息泄露

  流量泄露

2.ArrayList 和LinkList的区别

ArrayList 采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入删除时非常麻烦

LinkedList 采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引 ,但是缺点就是查找非常麻烦 要丛第一个索引开始。

通俗理解: 你可以把 ArrayList看做是一个大小长度可变的数组来使用~~~ 一般情况也常用这个做查询操作;

LinkedList呢 他其实是一种链表形式的容器,插入删除很方便 。

 

3.Service的生命周期以及Banding Service 和 Start Service 的区别?

service根据不同的启动方式会展现出不同的生命周期:

如果以onStart()方式: context.startService() ->onCreate()- >onStart()->Service running context.stopService() | ->onDestroy() ->Service stop

如果Service还没有运行,则android先调用onCreate()然后调用onStart();如果Service已经运行,则只调用onStart(),所以一个Service的onStart方法可能会重复调用多次。

stopService的时候直接onDestroy,如果是调用者自己直接退出而没有调用stopService的话,Service会一直在后台运行。

该Service的调用者再启动起来后可以通过stopService关闭Service。 所以调用startService的生命周期为:onCreate --> onStart(可多次调用) --> onDestroy

如果以onBInd()方式:   

使用使用context.bindService()启动Service会经历:

   context.bindService()->onCreate()->onBind()->Service running

  onUnbind() -> onDestroy() ->Service stop

  onBind将返回给客户端一个IBind接口实例,IBind允许客户端回调服务的方法,比如得到Service运行的状态或其他操作。  这个时候把调用者(Context,例如Activity)会和Service绑定在一起,Context退出了,Srevice就会调用onUnbind->onDestroy相应退出。

   所以调用bindService的生命周期为:onCreate --> onBind(只一次,不可多次绑定) --> onUnbind --> onDestory。    

在Service每一次的开启关闭过程中,只有onStart可被多次调用(通过多次startService调用),其他onCreate,onBind,onUnbind,onDestory在一个生命周期中只能被调用一次。

  onStart()的方式一般用以本地服务的调用,Activity与Service不需要交互,调用者与Service无任何关系 如果以onBInd()方式:远程调用,Activity与Service会有交互,调用者与Service绑定在一起。

注意:Service需要在清单文件中进行配置才能使用。

关于四大组件: http://www.cnblogs.com/pepcod/archive/2013/02/11/2937403.html 这个帖子写的很好。

4.res/raw和assets目录的区别

答:  二者的相同点:都会直接原封不动的保存在APK中而不会被编译成二进制文件  

  不同点:   

  1.raw目录下,不能存在文件,而不能包含文件夹。而assets可以包含下一级的文件夹  

   2.raw目录下的资源会映射到R.java下生成资源ID,assets不会。

    3.获得资源的方法不同如下:   

   this.getAssets().open("xml/channels.xml");    

  this.getResources().openRawResource(R.raw.students);    

  this.getClassLoader().getResourceAsStream("students.xml");

5.String与StringBuffer,StringBuilder的区别

   1.三者在执行速度方面的比较: StringBuilder>StringBuffer>String

  2.String执行速度最慢的原因  String :字符串常量  StringBuffer:字符串变量  StringBuilder:字符串变量  由上可知:string是字符串常量也就是不可改变的对象,

 如: String str1 ="Hello";   

  str1 = str1+"wolrd";   

  syso(str1);---->Helloworld;   

  虽然输出是这样,但是内部实现是:首先创建一个对象str1,然后在创建一个新的对象str1来合并操作,   而原来的对象被GC回收掉。   

  而StringBuffer和StringBuilder则是在原来的对象上进行操作。   StringBuffer有一个方法:append(),添加字符串;  

   2.线程安全性:    

    StringBuffer是线程安全的    

    StringBuilder 是线程非安全的;  

对于三者使用的总结:

 1.如果要操作少量的数据用 = String  

  2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder  

  3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer

6. .9.PNG是干什么的?怎么使用?  

9png图片一般用在需要拉伸的地方,比如聊天程序的对话框,字数不同,对话框的大小也不同。

 所以就有了9png,之所以叫9是因为图片被分割为9个部分。

 //目前制作还不是太理解。。。  

转载于:https://www.cnblogs.com/taotaomajia/p/4629568.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/358600.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装linux无驱动黑屏,ubuntu16.04安装黑屏与显卡安装笔记

本帖最后由 zhengchao666 于 2016-4-26 16:08 编辑ubuntu安装时黑屏处理问题描述:ubuntu使用光盘/USB安装时,出现"install ubuntu/ try ubuntu without installation"选择,但是Enter安装时,显示器显示没有信息&#xff…

从JS敏感信息泄露到GETSHELL

前言 小弟新手,大佬勿喷,文章有何不妥,还望大佬们斧正。 正文 前端时间打HW,拿到一个IP,先在FOFA上搜一下 发现这个IP现在开放了三个端口,分别是86,83,82对应不同的后台管理系统 …

HashMap两种遍历数据的方式

HashMap的遍历有两种方式,一种是entrySet的方式,另外一种是keySet的方式。 第一种利用entrySet的方式: Map map new HashMap(); Iterator iter map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry (Map.Entry) iter.ne…

jOOQ类型安全数据库查询教程

课程大纲 SQL是用于关系数据库查询的功能强大且表达能力强的语言。 SQL已建立,标准化并且几乎不受其他查询语言的挑战。 但是,在Java生态系统中,自从JDBC以来,几乎没有采取任何相关的措施来更好地将SQL集成到Java中。 在更高级别上…

中专计算机专业学c语言吗,中专计算机专业学什么 有哪些课程

计算机原理、计算机应用基础、计算机网络基础、CAD辅助设计、三维动画设计、VBSIC语言及程序设计PHOTOSHOP、Windows、网页设计、Office办公自动化、多媒体、计算机系统安装及维护管理、计算机病毒原理防范等。计算机专业就业前景计算机专业就业前景很好。随着现代经济和科技的…

教你玩转CSS表格(table)

目录 表格边框 折叠边框 表格宽度和高度 表格文字对齐 表格填充 表格颜色 表格边框 指定CSS表格边框,使用border属性。 下面的例子指定了一个表格的Th和TD元素的黑色边框: table, th, td {border: 1px solid black;}

实战|全程分析js到getshell

本篇转载于https://forum.butian.net/share/260 看到望海师傅的山理证书真滴好看,真想搞一本,刚刚入edusrc的时候收集了一波山理的子域资产,全部看了一遍都被大佬挖的干干净净了。没有内网VPN基本上挖不到,然后我就去公众号看了一…

教你吃透CSS的盒子模型(Box Model)

目录 CSS 盒子模型(Box Model) 元素的宽度和高度 浏览器的兼容性问题 CSS 盒子模型(Box Model) 所有HTML元素可以看作盒子,在CSS中,”box model”这一术语是用来设计和布局时使用。 CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容…

多家防火墙设备存在信息泄露漏洞

概述 漏洞名称多家防火墙设备存在信息泄露漏洞安全通告发布日期2021-06-16受影响产品及版本胜鑫塔下一代防火墙XT6000-A-FW-1.0.0-0-2778 利谱第二代防火墙6164-1.5.2 任子行下一代防火墙SURF-NGSA-V-3000 中科网威下一代防火墙F6600L-1.5.2 任子行网络安全审计系统内置报表 网…

c语言 linker error,[Linker error] undefined reference to `prinf'的问题!

[Linker error] undefined reference to prinf的问题!环境为dev-cpp日志如下:编译器: Default compiler执行 gcc.exe...gcc.exe "E:\C\ran.c" -o "E:\C\ran.exe" -I"D:\Dev-Cpp\include" -L"D:\Dev-Cpp\lib"C:\…

独处可以激发思考的力量

如果你知道怎么独处的话,成大事者都是善于独处的人--在独处的过程中激发思考的力量。 自卑可以像一座大山把人压倒并让你永远沉默,也可以像推进器产生强大的动力。 比别人先走一步,能创造一种成功的心境。 在独处时&am…

教你玩转CSS border(边框)

目录 边框样式 border-style 值 边框宽度 边框颜色 边框-单独设置各边 实例 边框-简写属性 CSS 边框属性

从命令式功能到纯功能性,然后再返回:Monads与范围内的延续

这则影片随附此文章,没有它不会有太大意义 上个月,我在Curry On会议上做了演讲,该会议是与学术,编程语言会议ECOOP共同举办的新会议。 Curry On旨在弥合学术界之间的鸿沟。 我的学术兴趣不包括编程语言,我认为编程语言…

php boolean 全大写还是全小写,【PHP培训】PHP为什么大小写规则是如此不规则?

据 但还是建议使用统统敏感的写法,推荐大家始终坚持“大小写敏感”,遵循统一的代码规范,不定义大小相同的函数和方法。 一、大小写敏感 1.变量名区分大小写 所有变量均区分大小写,包括普通变量以及$_GET,$_POST,$_REQUEST,$_C…

c语言调用话筒的程序,c – OpenAL:如何创建简单的“麦克风回声”程序?

一个古老的问题,但这是一个答案.如果我们真的想要简洁,它肯定可以修剪,但这有点不到100条有效线:#include // OpenAL header files#include #include using std::list;#define FREQ 22050 // Sample rate#define CAP_SIZE 2048 // How much to capture at a time (a…

轶事奇语

---恢复内容开始--- Windows自带的记事本编辑文本时,如果使用utf-8编码的文件,会在每个文件开头添加一个值为0xefbbbf字符,会导致许多奇怪的问题,如网页第一行可能会显示一个"?", 或编译器报语法错误,等。U…

教你玩转CSS 轮廓(outline)属性

目录 CSS 轮廓(outline) 所有CSS 轮廓(outline)属性 CSS 轮廓(outline) 轮廓(outline)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用…

单片机c语言参考文献最新,[2018年最新整理]10个单片机C语言实例.doc

[2018年最新整理]10个单片机C语言实例经典单片机实验帮你成功1. 闪烁灯1. 实验任务如图4.1.1 所示:在P1.0 端口上接一个发光二极管L1,使L1 在不停地一亮一灭,一亮一灭的时间间隔为0.2 秒。2. 电路原理图图4…

Web安全-伪静态网页

初步认识 “伪静态”顾名思义就是一种表面上看似是静态网页(以.html、.htm等结尾),不存在任何的数据交互,却其实是动态网页,存在数据交互的网站,具有这种特性的网页被称为“伪静态网页”。我们看到的伪静态…

2015.7.11js-10(无缝滚动)

1.实现原理:setInterval定时器,让某元素position的left属性定时滚动,使用到js中的元素的offsetLeft属性。 2.案例:1.css的实现是外div是4张图片的总宽度,设置relative然后overflow隐藏。子代有ul层设置为absolute;left…