当前位置: 首页 > news >正文

雄安专业网站建设方案wordpress 广告位

雄安专业网站建设方案,wordpress 广告位,重庆高端设计公司,临沧建设局网站在Android中也可以像pc一样开启多进程#xff0c;这在android的编程中通常是比较少见的#xff0c;以为在一个app基本上都是单进程工作就已经足够了#xff0c;有一些特殊的场景#xff0c;我们需要用多进程来做一些额外的工作#xff0c;比如下载工作等。 在Android的An…在Android中也可以像pc一样开启多进程这在android的编程中通常是比较少见的以为在一个app基本上都是单进程工作就已经足够了有一些特殊的场景我们需要用多进程来做一些额外的工作比如下载工作等。 在Android的AndroidManifest.xml 中每一个activity或者service 都可以指定一个进程名称android:process当这个activity或者service 被调用时该进程自动启动。 因此在android中启动一个进程是比较简单的如果需要看一个app有几个进程看AndroidManifest.xml 的android:process 就能知道有几个进程。 建立一个其他进程的service 这里用一个service建立其他的一个进程。RemoteService 是一个空的service。代码如下 class RemoteService : Service() {private var TAG RemoteServiceoverride fun onBind(intent: Intent?): IBinder? nulloverride fun onCreate() {//Debug.waitForDebugger();super.onCreate()}override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {return super.onStartCommand(intent, flags, startId)} }在 AndroidManifest.xml 中android:process 的值取为 android:process:remote 这时候只需要在代码中启动这个服务进程自然就建立了。 val serviceIntent Intent(this, RemoteService::class.java)if (Build.VERSION.SDK_INT Build.VERSION_CODES.O) {startForegroundService(serviceIntent)} else {startService(serviceIntent)}可以看到 com.first66.multi_process:remote的进程已经启动了。 进程间的通讯AIDL 一个app两个进程就会涉及到两个进程之间的通讯问题比如一个下载的进程前端进程需要告诉后台进程要下载哪个链接后台进程需要告诉前端进程下载的状况。 在android中进程间的通讯可以使用AIDL进行相当于对服务进行对象的bind。 创建 IMessageInterface.aidl 的aidl用来进行两进程间的通讯。 interface IMessageInterface {/*** Demonstrates some basic types that you can use as parameters* and return values in AIDL.*/void loadData(in String message); }这个时候IMessageInterface 只是一个接口而已相当于一个Binder需要进行实例化。 在RemoteService.kt 中创建一个Binder当每个对象要来绑定这个服务的时候我们返回这个Binder给他。 private var binder:Binder object : IMessageInterface.Stub() {override fun loadData(message: String?) {message?.let {Log.d(TAG,it)}}}绑定的时候把这个Binder 给另一个进程。 override fun onBind(intent: Intent?): IBinder? {return binder}在MainActivity 启动这个服务进程的时候创建一个ServiceConnection 当服务绑定成功了以后返回Binder。 private var iMessageAidlInterface: IMessageInterface? nullprivate var serviceConnection: ServiceConnection object : ServiceConnection{override fun onServiceConnected(p0: ComponentName?, p1: IBinder?) {iMessageAidlInterface IMessageInterface.Stub.asInterface(p1)iMessageAidlInterface?.loadData(Hello Message)}override fun onServiceDisconnected(p0: ComponentName?) {}}onServiceConnected 连接成功了以后会IBinder 返回给启动的进程这个就能给另外一个进程传递消息了。 进程间的调试 在调试的时候下的断点必须是在同一个进程间才能够停的住如果是处在不同的进程即使下了断点也是会变黑的。 可以在另外一个进程服务中onCreate 加入 Debug.waitForDebugger();当启动服务的时候点击另外一个进程断点才能起作用。 查看进程 点击 com.first66.multi_process:remote 进入调试。
http://www.hkea.cn/news/14310897/

相关文章:

  • 请人做软件开发的网站wordpress显示标签页
  • 网站开发考研是什么专业建设一个网站平台需要哪些技术员
  • 网站做优化的必要性wordpress 转载插件
  • 网站拒绝了您的访问二次开发是什么意思
  • 苏州市住房和城乡建设局网站郑州网站建设汉狮
  • 太原建设网站公司专业网站
  • 武隆网站建设报价流程图在线制作网站
  • 岳阳网约车优化教程
  • 网站自己优化杭州网站做的好公司
  • 大连网页建站模板贵州做网站的
  • 企业能建站吗如何对网站的文件和资源进行优化?
  • 更换网站域名 推广做引流推广的平台
  • 泊头哪有哪家做网站做的号自己做外贸自己做网站
  • 在Vs中做网站接口网络广告投放方案
  • 北京网站建设降龙越南网站 后缀
  • 网站备案和不备案的西安有什么好玩的地方景点推荐
  • 网站设计配色科技局是做什么的
  • 网站开发it项目规划书桐乡市城乡规划建设局网站
  • 铜仁网站网站建设网站开发个人感想
  • 英文网站设计哪里好优设
  • 广东旅游网站建设网站宣传推广方案
  • 做购物网站用什么应用sem优化托管公司
  • 网站被百度惩罚放弃海外商城网站建设
  • 如何做高校的网站版面设计公司网站建设中恒建设集团有限公司
  • 米 建设网站网站设置受信任
  • 科技公司手机端网站苏州专门网站
  • 网站开发商城app网站如何做绿标
  • 广州 网站建设网络推广网页设计润滑油东莞网站建设
  • 如何做更改网站的图片免费给我推广
  • 网站建设销售话术文本格式第三方网站做app