android开发基本知识,Android应用开发基本知识点汇总

Activity

一生命周期

4种状态running/paused/stopped/killed

生命周期

Activity发动onCreate->onStart->onResume

点Home回来主界面onPause->onStop

再次回到原ActivityonRestart->onStart->onResume

退出ActivityonPause->onStop->onDestroy

进程优先级前台/可见/服务/后台/空

二使命栈

三发动形式

standard

singleTop栈顶复用

singleTask栈内复用

singeInstance

四scheme跳转协议

服务器能够定制化告知App跳转哪个页面,能够经过通知栏音讯定制化跳转页面,能够经过H5页面跳转页面

Fragment8328e52e7cb33f9136e0048f1f4a822b.png

一第五大组件

为什么是第五大组件Fragment相对Activity更节约内存,切换更舒适

Fragment加载到Activity的两种方式

静态加载xml

动态加载fragmentTransaction.add(id,fragment,“name”);.commit;

FragmentPagerAdapter与FragmentStatePagerAdapter

FragmentStatePagerAdapter在切换时收回内存,合适页面较多的状况

FragmentPagerAdapter并没有收回内存,只是detach了Activity

二生命周期

onAttach->onCreate->onCreateView->onViewCreated->onActivityCreated->onStart->onResume

->onPause->onStop->onDestroyView->onDestroy->onDetach

先创立Activity后创立Fragment,先毁掉Fragment后毁掉Activity

三Fragment之间的通讯

Fragment调用ActivitygetActivity

Activity调用Fragment接口回调

Fragment调用Fragment办法findFragmentById

四FragmentManager

replace

add

remove

Service

一运用场景,与Thread区别

Service是什么后台长期运行,没有用户界面,运行在主线程,不能有耗时操作

Service与Thread区别Activity难以与Thread交互,尤其当Activity毁掉以后

二敞开Service的两种方式

StartService

onCreate->onStartCommand->onBind->onDestroy

onStartCommandreturnSTART_STICKY;

startService(intent);stopService(intent);

BindService

Broadcast

一播送

定义

场景可在同一个App多个进程间音讯传递,可在不同App间音讯传递

品种Normal,System有序播送,Local本地播送

二完成方式

静态注册注册完一向运行

动态注册跟从Activity生命周期

三完成机制

四本地播送LocalBroadcastManager

因为之前的播送都是大局的,一切运用程序都能够接纳到,这样就很简单会引起安全性的问题,比如说咱们发送一些带着关键性数据的播送有或许被其他的运用程序截获,或许其他的程序不停地向咱们的播送接纳器里发送各种废物播送。

为了能够简单地解决播送的安全性问题,Android引入了一套本地播送机制,运用这个机制宣布的播送只能够在运用程序的内部进行传递,而且播送接纳器也只能接纳来自运用程序宣布的播送,这样一切的安全性问题就都不存在了。

异步音讯处理

Handler

子线程发送音讯,让主线程更新UI

handler运用办法post(runnable)与sendMessage(message)

handler内存泄漏解决办法:1.handler改为静态内部类2.handler内部持有Activity外部弱引用

3.mHandler.removeCallback()

HandlerThread

多次创立毁掉线程很耗费系统资源

本质上是线程,继承自Thread,一起自己内部拥有Looper目标,能够进行Looper循环

串行队列,不能一起多使命处理,需求等候

handlerThread=handler+thread+looper

AsyncTask

本质上封装了线程池和Handler

传入三个参数xxxAsyncTaskextendsAsyncTask运用参数,进度参数,成果参数

onPreExecute在UI线程里履行

doInBackground回来参数传给onPostExecute,中心publishProgress(i)中的参数传给onProgressUpdate

onProgressUpdate在UI线程里履行

onPostExecute在UI线程里履行

xxxAsyncTask.cancel()

并行or串行?为了线程池安稳,系统默认串行,一般建议串行,用xxxAsyncTask.executeOnExecutor履行并行

IntentService

IntentService是串行的

onHandleIntent履行耗时操作

IntentService内部封装了HandlerThread框架,利用HandlerThread进行异步音讯传递

WebView

API16之前,没有限制WebView.addJavascriptInterface(),攻击者利用反射可履行任意Java目标的办法。

onDestroy毁掉WebView时,先要从父视图里removeWebView,再调用WebView.removeAllViews()和WebView.destroy(),防止内存泄漏,WebView中的Context运用弱引用。

jsbridge经过JS构建起的桥

WebView硬件加速导致页面渲染问题

Binder

Linux的进程间通讯有Pipe,Socket,共享内存,信号量,信号,报文。

但是出于功能和安全考虑,Android引入了Binder机制。

Binder驱动位于内核空间,两个位于用户空间的进程间的通讯,有必要运用到Linux系统调用。

Binder目标是一个跨进程通讯的目标,由Binder驱动完成。

进程经过Binder驱动向ServiceManager注册,ServiceManager维护一张表。

进程A从ServiceManager里查询进程B,ServiceManager回来一个署理目标,

署理目标经过Binder驱动完成,将成果回来给ServiceManager。

Android构建

将资源文件经过aapt编译生成R.java,将aidl文件经过aidl编译生成Java接口

将App源码+R.java+aidl的Java接口,经过Java编译器生成.class字节码文件

将.class经过dex生成.dex文件(虚拟机Dalvik可履行文件)

将.dex+其它未编译文件经过apkbuilder生成apk

将apk经过签名东西jarsigner进行签名

将apk经过zipalign进行对齐操作,节约内存开支,削减apk巨细

OKHttp

运用办法

创立一个OKHttpClient目标

创立一个Request目标(经过内部类Builder调用生成)

创立一个Call目标,调用execute(同步恳求)/enqueue(异步恳求)

WebSocket心跳原理

心跳包中或许会带着数据

当收到Ping帧的时候需求立即回来一个Pong帧

在连接建立之后,随时都能够发送Ping帧

心跳是用来测验链接是否存在和对方是否在线

在呼应Ping帧的的Pong帧中,有必要携和被呼应的Ping帧中相同的数据

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

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

相关文章

android hls检测,安卓大部分浏览器播放HLS协议直播流会从头开始

遇到的问题HLS直播流在iOS系统中表现正常,但在安卓使用大部分浏览器(UC浏览器除外)播放ffmpeg生成的HLS直播流都会发生从头播放的问题,即不管何时播放直播流,都会从直播开头的内容开始播放(生成的第一个直播TS切片,eg:电影开始直播…

华为鸿蒙os2.0系统何时搭载手机,鸿蒙OS 2.0系统正式发布!余承东:明年华为系手机将会搭载...

原标题:鸿蒙OS 2.0系统正式发布!余承东:明年华为系手机将会搭载由于众所周知的原因,华为手机这两年过的很艰难,尤其是今年力度大了后,华为手机接下来可能面临无芯片可用的严重情况。而除了一些硬件外&#…

html气泡写法,制作CSS气泡框

气泡状文本框,是一种很生动的网页设计手段。它可以用来表示用户的发言。也可以用来作为特定信息的提示符。DVD租借网站Netflix,还用它显示碟片的详细信息。制作CSS气泡框的传统方法,需要5张背景图片,分别是:*tl.gif&am…

html5按钮超链接一个文本文档,怎么做word文档超链接

怎么做word文档超链接超链接,常见于网页制作中,是将两个网页之间建立链接关系,即当点击一个A对象的时,自动跳转到另一个B对象的位置,从而快速查阅网页内容。接下来小编为大家推荐的是word文档超链接相关内容&#xff0…

.net html5 框架,ASP.NET - 介绍 ASP.NET Web 窗体框架的导航 | Microsoft Docs

MVC07/08/2015本文内容介绍 ASP.NET Web 窗体框架的导航ASP.NET Web 窗体框架的导航是一个托管在 navigation.codeplex.com 上的开源项目,该框架使您可以采用单元测试范围来编写 Web 窗体代码,同时遵循“切勿重复”(DRY) 原则,从而使 ASP.NET…

html教程padding,HTML CSS——margin和padding的学习

一、什么是边距CSS中的边距指的是当前元素border与周围其它元素border的距离(或者称为空间)。二、什么是内边距,什么是外边距代码2-1:html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.d…

html中最右边,html – 如何获得最右边的列填充剩余空间?

我找到了一个简单的解决方案:table td:last-child {width: 100%;}结果:body {font: 12px "Sans serif";}table {width: 100%;background-color: #222222;color: white;border-collapse: collapse;}table th {padding: 10px;text-align: left;}…

html5的交互标签,html5里交互元素的使用方法

在H5里,交互元素就是和用户进行互动的元素,这一部分非常的重要,并且和之前的JS控制的效果不同,H5相比于HTML增加了很多的交互元素,比如隐藏显示注脚就是其中的一个交互效果。交互元素的使用body{font-size: 12px;}span…

image 3d view HTML5,Cute Slider - 3D 2D HTML5 Image Slider

IMPORTANT!We can NOT provide support for this item since Feb 2015. If you would like to use our item, we highly recommend to use our brand new slider “Master Slider”Cute Slider is a unique and easy to use slider with awesome 3D and 2D transition effects,…

适合计算机社团活动的游戏,适合大学社团活动“游戏”有哪些?

20个适合大学生活动的游戏推荐1、无敌烽火轮规则:各组统一在风火轮内站好,由裁判统一发布口令出发。行进途中,风火轮必须垂直地面,不能将所提供的道具剪裁、折叠,道具纸必须紧密相连。所有组员必须在圈内,身体的任何部…

组策略 控制台登录计算机用用户,Window 2008 R2组策略之一——组策略管理控制台...

组策略管理在windows域管理中占有重要地位,本身也不是新的内容了。但微软在Windows2008中终于集成了一个非常好用的组策略管理工具——组策略管理控制台。并且为原有的组策略添加了新的元素。本文从介绍组策略管理控制台入手,力求通过比较通俗的语言&…

计算机桌面上的输入法状态栏,输入法状态栏

2009-05-02今天不知怎么的,把工具栏里输入法的图标给搞丢了。请问大侠怎样找回?请指点,谢谢任务栏系统托盘区的输入法图标不见了,点击运行输入Ctfmon。exe 回车即可。任务栏没有输入法的解决方法(先右击任务栏/工具栏/勾选语言栏试…

html按钮分享功能实现,一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)...

前几天由于工作需要制作一个分享按钮,考虑到后续其他项目可能也会用到,于是就打算写成插件化,正好也给我自己的插件jquery.hooray增加一个新的功能,为了不浪费大家时间,我先把demo放出来,如果觉得能用到&am…

北京理工大学珠海学院专业计算机类,北京理工大学珠海学院计算机学院网络工程专业...

北京理工大学珠海学院计算机学院网络工程专业发表时间:2019-10-10作者:211大学网日前,在计算机学院网络工程专业林开荣、张海燕老师的带领下,6名来自北京理工大学珠海学院2016级网络工程专业学生参加了珠海市职业技能竞赛云计算工…

国防科技大学计算机学院教员,我国最好的四所科技大学,第一名排名世界前列,还有一所是铁饭碗...

分享亲子快乐,交流教育知识,欢迎关注陆北老师2021年泰晤士世界大学排名揭晓,中国科技大学进入了前一百名,而南方科技大学也进入了前三百名。其实我国的科技类大学,以中国科技大学为首,有四所的实力非常雄厚…

计算机图形学基础教程论文,计算机图形学小论文

为毕业生写计算机图形学小论文提供计算机图形学小论文范文参考,涵盖硕士、大学本科毕业论文范文和职称论文范文,包括论文选题、开题报告、文献综述、任务书、参考文献等,是优秀免费计算机图形学小论文网站。计算机图形学的发展及应用探讨摘要计算机图形学…

c语言添加变量到数据库+a+ +b+ 的方法,《C程序设计基础》模拟考试题(含答案)...

《C程序设计基础》模拟考试题一、选择题(每题2分。共23道选择题)1、关于C程序的叙述,错误的说法是(B)A、C程序总是从主函数开始执行B、C程序中定义的第一个函数是主函数C、在主函数中可以调用其他函数D、一个C程序可以包括多个函数2、C语言的基本数据类型包括(A)A、…

长沙理工大学计算机网络试题,长沙理工大学考试试卷(计算机网络)要点.docx

长沙理工大学考试试卷????????????????????????????????????????卷 号1 教研室(或教 ) 名易建 教研室主任 名蔡碧野????????????????????????????????????????程名称(含档次) 算机网 原理与技…

暗黑3 和社群服务器连线中断,进入《暗黑3夺魂之镰》必须知道10件事

《暗黑破坏神3》首部资料片自去年德国科隆游戏展首次亮相之后已经过去两年时间,昨天凌晨2:00新版游戏正式在台湾上线(全球其它地区也在陆续开服中),同时台湾战网也向准备进入资料片的玩家给出了10点注意事项,了解这些将帮助大家更…

哔哩哔哩服务器在哪个文件夹,哔哩哔哩缓存在哪个文件夹 具体操作步骤

我们在手机b站中缓存了视频,如果想要找到源文件,就必须要在手机的内部存储中去寻找,实际上,手机b站缓存的视频隐藏的很深,其查看路径为:文件管理/本地/内部存储/android/data/tv.danmaku.bili/download/“随…