精选文章 安卓Jar和Aar的区别以及更新UI的几种方式

安卓Jar和Aar的区别以及更新UI的几种方式

作者:ITJingYing2050 时间: 2020-08-05 05:07:24
ITJingYing2050 2020-08-05 05:07:24

Jar包里面只有代码,Aar包里面不止有代码,还有资源,如图片,XML等。对于一些不常变动的Android库文件,建议直接引入AAR,加快编译速度。

2.安卓几种更新UI的方式

1.Activity.runOnUiThread(Runnable);

2.View.post(Runnable),View.postDelay(Runnable,long)(可以理解为在当前视图UI线程添加队列)

3.Handler

4.AsyncTask

5.Rxjava

6.LiveData

3.ContentProvider的理解

ContentProvider是安卓四大组件之一,主要用于跨应用通信,实现应用之间数据交互和共享。

4.Thread,AsyncTask,IntentService的使用场景

1.Thread线程,独立运行于Activity,当Activity被销毁时,如果Thread线程没有运行完,且没有主动停止,那么它会继续执行下去。

2.AsyncTask封装了两个线程池和一个Handler,其必须在UI线程中创建,execute方法必须在UI线程中执行,一个任务实例只允许执行一次,执行多次会抛出异常。用于网络请求和简单的数据处理。

3.IntentService:处理异步请求,实现多线程,处理耗时操作。

5.Activity的startActivity和context的startActivity有什么区别

在其他context(如:service中)中调用startActivity方法,必须设置setFlag():

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK) ; 
mContext.startActivity(intent);

在Activity中,就不用,可以直接调用。

6.在Service中创建对话框

1.取得Dialog对象后,需要给它设置类型;

dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT)

2.在Manifest中添加权限;


7.Asset和res两者目录的区别

Asset:不会在R文件中生成对应标记,打包时会将资源加入安装包中。

res:会在R文件中生成id标记,打包时,使用到的资源才会打包到安装包中。

8.安卓如何加速启动Activity

1.不在onCreate() 方法里面做耗时操作;

2.不要阻塞主线程,可以尽量使用子线程做耗时操作;

3.优化布局页面

4.提高Adapter和AdapterView效率。

 

参考文章:https://juejin.im/post/6844904079160770568#heading-26

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:Elasticsearch: ES使用sql语句进行查询

下一篇:四连涨!海尔智家这波私有化还有多大想象空间?

您可能感兴趣

  • web前端框架常见问题

    面向对象: 面向对象是一种程序开发的方法,它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的灵活性、重用性和扩展性。对象是把数据及对数据的操作方法放在一起,作为一个相互依存的整体。再说一下类与对象,类描述了一组有相同特性和相同行为的对象,具有相同属性和相同方法的对象的抽象就是类。即,对象的抽象是类,类的实例是对象。在面向对象的编程中,把用类创建对象的过程称为实例化。 面向过程与面...

  • 利用IntelliJ IDEA与Maven开始你的Scala之旅

    一. IntelliJ IDEA安装及配置 1.1 IntelliJ IDEA下载及安装   首先在 CHOOSE YOUR EDITION 这里选择Community版本,这个版本是免费提供的,对我们的Spark使用来说,用这个版本已经足够了。如下图所示:   直接点击黑色的 DOWNLOAD 按钮会默认开始下载Windows版本的IntelliJ IDEA,如果需要其他平台的版本,可以点...

  • 微服务架构VS单体架构

    微服务架构在软件行业已成为一中发展趋势,微服务架构与传统的单体软件架构代表着IT产业处理软件开发方式的一个根本性转变。那么微服务架构与传统的单体架构相比,有何区别呢?我们从以下几点来看: 一、单体架构 单体架构,是指将开发好的项目打成war包,然后发布到tomcat等容器中的应用。 假设你正准备开发一款与Uber和滴滴竞争的出租车调度软件,经过初步会议和需求分析,你可能会手动或者使用基于Sp...

  • 又到年底了,大家有跳槽计划吗?

    又到年底了,今年大部分互联网公司都不怎么好过,有的人跳槽是有规划的,有的人跳槽完全是被动的,比如keep 在1024的裁员。 即使不打算跳槽,大家也可以每半年出去面试一圈。 1、看看自己在市场上的价值。 2、看下整体行业环境,行业动态,技术方向。 这样不至于自己在单一环境中由于公司问题导致离职而突然毫无准备。 我们在跳槽季前后搜集了近271份前端工程师的职业调查表,年薪大部分在8-20W之间...

  • Android Framework 学习和调试的方法

    文章正文 * * 本文导语 * Android 系统框架 * Framework 框架层都有哪些东西 * 调试 Framework 的 Java 部分 * 调试应用中 TextView 代码 * 调试系统服务线程(AMS、WMS) * 课后习题 本文适合 Android 系统开发工程师,以及对系统感兴趣却不知该如何快速学习的朋友。 学完此课程,你便能掌握系统调试,以及应用调试的方法,让你摆脱...

  • Android面试题(六)2网络与安全机制(2)

    加密算法介绍: URL编码 URL编码其实并非加解密算法,只是对特殊字符进行字符转义,从而方便在URL中传输参数。URL编码有两种方式,一种是狭义的URL编码,另一种是广义的URL编码。 狭义的URL编码指的是只对汉字进行编码,相关代码参见《Android开发笔记(六十三)HTTP访问的通信方式》。 广义的URL编码指的是除了汉字之外,还对其他特殊字符进行编码,如空格转换为“%20”,其他的...

  • Android开发工程师常见面试题整理

    主要分为以下几部分: (1)java面试题 (2)Android面试题 (3)高端技术面试题 (4)非技术性问题&HR问题汇总 1. java面试题 熟练掌握java是很关键的,大公司不仅仅要求你会使用几个api,更多的是要你熟悉源码实现原理,甚至要你知道有哪些不足,怎么改进,还有一些java有关的一些算法,设计模式等等。 (一) java基础面试知识点 java中==和equals和has...

  • Android面试题(二)Android基础2

    (二)Android源码相关分析 1、Android动画框架实现原理 RootView 只有一个孩子就是 DecorView,这里整个 View Tree 都是 DecorView 的子 View。 在DecorView中,标题窗口(TitleBar)以下部分的 FrameLayout(Content容器) 就是为了让程序员通过 setContentView 来设置用户需要的窗口内容。 因为...

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。