51dev.com IT技术开发者社区

51dev.com 技术开发者社区

广播接收者的生命周期?

广播接收者的生命周期?

a.广播接收者的生命周期非常短暂的,在接收到广播的时候创建,onReceive()方法结束之后销毁;b.广播接收者中不要做一些耗时的工作,否则会弹出ApplicationNoResponse错误对话框;c.最好也不要在广播接收者中创建子线程做耗时的工作,因为广播接收者被销毁后进程就成为了空进程,很容...

如何让自己的广播只让指定的 app 接收?

如何让自己的广播只让指定的 app 接收?

1、自己的应用(假设名称为应用A)在发送广播的时候给自己发送的广播添加自定义权限,假设权限名为:com.itheima.android.permission,然后需要在应用A的AndroidManifest.xml中声明如下权限:<permissionandroid:name="com.ith...

请描述一下 BroadcastReceiver?

请描述一下 BroadcastReceiver?

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

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

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

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

什么是IntentService?有何优点?

什么是IntentService?有何优点?

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

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

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

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

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

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

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

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

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

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

如何保存 Activity 的状态?

如何保存 Activity 的状态?

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

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

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

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

Activity 的状态都有哪些?

Activity 的状态都有哪些?

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

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

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

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

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

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

a)Foregroundprocessb)Visibleprocessc)Serviceprocessd)Backgroundprocesse)Emptyprocess...

谈一谈 Android 的安全机制?

谈一谈 Android 的安全机制?

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

DVM 和 JVM 的区别?

DVM 和 JVM 的区别?

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