为你推荐

请描述一下 BroadcastReceiver?

BroadCastReceiver是Android四大组件之一,主要用于接收系统或者app发送的广播事件。广播分两种:有序广播和无序广播。内部通信实现机制:通过Android系统的Binder机制实现通信。无序广播:完全异步,逻辑上可以被任何广播接收者接收到。优点是效率较高。缺点是一个接收者不能将处理结果传递给下一个接...

在 manifest 和代码中如何注册和使用 BroadcastReceiver?

在清单文件中注册广播接收者称为静态注册,在代码中注册称为动态注册。静态注册的广播接收者只要app在系统中运行则一直可以接收到广播消息,动态注册的广播接收者当注册的Activity或者Service销毁了那么就接收不到广播了。静态注册:在清单文件中进行如下配置<receiverandroid:name=".Broa...

什么是IntentService?有何优点?

一、IntentService简介IntentService是Service的子类,比普通的Service增加了额外的功能。先看Service本身存在两个问题:Service不会专门启动一条单独的进程,Service与它所在应用位于同一个进程中;Service也不是专门一条新线程,因此不应该在Service中直接处理耗...

说说 Activity、Intent、Service 是什么关系

他们都是Android开发中使用频率最高的类。其中Activity和Service都是Android四大组件之一。他俩都是Context类的子类ContextWrapper的子类,因此他俩可以算是兄弟关系吧。不过兄弟俩各有各自的本领,Activity负责用户界面的显示和交互,Service负责后台任务的处理。Activ...

Activity 怎么和 Service 绑定,怎么在 Activity 中启动自己对应的 Service?

Activity通过bindService(Intentservice,ServiceConnectionconn,intflags)跟Service进行绑定,当绑定成功的时候Service会将代理对象通过回调的形式传给conn,这样我们就拿到了Service提供的服务代理对象。在Activity中可以通过startS...

Service 是否在 main thread 中执行, service 里面是否能执行耗时的操作?

默认情况,如果没有显示的指service所运行的进程,Service和activity是运行在当前app所在进程的mainthread(UI主线程)里面。service里面不能执行耗时的操作(网络请求,拷贝数据库,大文件)特殊情况,可以在清单文件配置service执行所在的进程,让service在另外的进程中执行<...

如何保存 Activity 的状态?

Activity的状态通常情况下系统会自动保存的,只有当我们需要保存额外的数据时才需要使用到这样的功能。一般来说,调用onPause()和onStop()方法后的activity实例仍然存在于内存中,activity的所有信息和状态数据不会消失,当activity重新回到前台之后,所有的改变都会得到保留。但是当系统内存...

两个 Activity 之间跳转时必然会执行的是哪几个方法?

一般情况下比如说有两个activity,分别叫A,B,当在A里面激活B组件的时候,A会调用onPause()方法,然后B调用onCreate(),onStart(),onResume()。这个时候B覆盖了窗体,A会调用onStop()方法.如果B是个透明的,或者是对话框的样式,就不会调用A的onStop()方法...

Activity 的状态都有哪些?

a)foregroundactivityb)visibleactivityc)backgroundactivityd)emptyprocess...

Android 的四大组件都需要在清单文件中注册吗?

Activity、Service、ContentProvider如果要使用则必须在AndroidManifest.xml中进行注册,而BroadcastReceiver则有两种注册方式,静态注册和动态注册。其中静态注册就是指在AndroidManifest.xml中进行注册,而动态注册时通过代码注册...

在 Android 中进程的级别有哪些?

a)Foregroundprocessb)Visibleprocessc)Serviceprocessd)Backgroundprocesse)Emptyprocess...
代码星球·2020-08-08

谈一谈 Android 的安全机制?

1、Android是基于Linux内核的,因此Linux对文件权限的控制同样适用于Android,在Android中每个应用都有自己的/data/data/包名文件夹,该文件夹只能该应用访问,而其他应用则无权访问。2、Android的权限机制保护了用户的合法权益如果我们的代码想拨打电话、发送短信、访问通信录、定位、访问...
代码星球·2020-08-08

DVM 和 JVM 的区别?

a)dvm执行的是.dex文件,而jvm执行的是.class。Android工程编译后的所有.class字节码会被dex工具抽取到一个.dex文件中。b)dvm是基于寄存器的虚拟机而jvm执行是基于虚拟栈的虚拟机。寄存器存取速度比栈快的多,dvm可以根据硬件实现最大的优化,比较适合移动设备。c).class文件存在很多...
代码星球·2020-08-08

Android 中数据存储方式有哪些?

a)文件存储b)xml,SharedPreferencec)SQLite数据库d)ContentProvidere)网络...

ddms 和 traceview 的区别?

ddms原意是:davikdebugmonitorservice。简单的说ddms是一个程序执行查看器,在里面可以看见线程和堆栈等信息,traceView是程序性能分析器。traceview是ddms中的一部分内容TraceView简介Traceview是Android平台特有的数据采集和分析工具,它主要用于分析And...
代码星球·2020-08-08