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,一经查实,立即删除!

相关文章

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

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

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

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

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…

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

超算和服务器性能,烽火GPU高性能服务器助力武大超算中心建设

近日,继“武汉大学100G高速网络及网格计算集群采购项目”中标后,烽火GPU高性能服务器再次中标“武汉大学GPU集群采购项目”。作为行业首例,此次烽火将在武大超算中心同时提供Intel KNL以及NVIDIA GPU超算解决方案,两种顶尖HPC方案…

fastai学习:01_intro Questionnaire

fastAI Questionnaire 感觉还挺多的,怪不得说每一课要额外8小时进行学习。 1.Do you need these for deep learning? Lots of math T / F Lots of data T / F Lots of expensive computers T / F A PhD T / F F F F F 2.Name five areas where deep learning is …

fastai学习:02_production Questionnaire

1.Where do text models currently have a major deficiency? Deep learning is currently not good at generating correct responses! We don’t currently have a reliable way to, for instance, combine a knowledge base of medical information with a deep learning m…

fastai学习:04_mnist_basics Questionnaire

1.How is a grayscale image represented on a computer? How about a color image? 灰度图:单通道,0-256 彩色图:三通道RGB或HSV,0-256 2.How are the files and folders in the MNIST_SAMPLE dataset structured? Why? 分为…

【论文阅读笔记】Detecting Camouflaged Object in Frequency Domain

1.论文介绍 Detecting Camouflaged Object in Frequency Domain 基于频域的视频目标检测 2022年发表于CVPR [Paper] [Code] 2.摘要 隐藏目标检测(COD)旨在识别完美嵌入其环境中的目标,在医学,艺术和农业等领域有各种下游应用。…

python3 上传文件到目标机器_Python3 +服务器搭建私人云盘,再也不怕限速了

先来看看效果电脑访问手机访问Windows版本搭建(1).首先你需要在你的电脑上或者服务器上安装Python3.X。(2).然后通过如下指令来安装updog库,网上有很多关于updog的介绍,我这里就不详细说pip3 install updog(3).静静的等他安装完成,然后执行以…

tableau度量值计算_Tableau图表界面组成介绍

声明:内容来源拉勾教育数据分析训练营课程视频1 Tableau工作表基本界面基础概念:维度、度量、聚合、粒度。维度: 维度包含定量值(例如名称、日期或地理数据),可以使用维度进行分类、分段以及揭示数据中的详细信息。维度影响视图中的详细级别。…

小强升职记思维导图_你学会用 “思维导图” 学英语了吗?

今天我们来讲讲目前比较火爆的“思维导图学习法”。思维导图又叫“MIND MAP”,是英国人托尼博赞发明的一种思维工具。托尼博赞本人在心理学、语言学、数学以及科学方向均获得过学位,而且他还创造了世界脑力奥林匹克运动。虽然大师已逝,但是这…

hive币涨幅空间大吗_自动消防水炮只能安装在大空间场所吗

在大家不了解或者不清楚自动消防水炮的时候,经过一些厂家解释或者了解产品后,都知道是一种能够自动跟踪定位火焰并在短时内灭火的喷水系统,而且适用于安装在一些高大空间场所中,那么这是不是意味着,只能在大空间场所安…