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

站长之家的seo综合查询工具如何优化培训体系

站长之家的seo综合查询工具,如何优化培训体系,企业宣传网站建设,科技公司网站推荐在Android中也可以像pc一样开启多进程,这在android的编程中通常是比较少见的,以为在一个app基本上都是单进程工作就已经足够了,有一些特殊的场景,我们需要用多进程来做一些额外的工作,比如下载工作等。 在Android的An…

在Android中也可以像pc一样开启多进程,这在android的编程中通常是比较少见的,以为在一个app基本上都是单进程工作就已经足够了,有一些特殊的场景,我们需要用多进程来做一些额外的工作,比如下载工作等。

在Android的AndroidManifest.xml 中,每一个activity或者service 都可以指定一个进程名称android:process,当这个activity或者service 被调用时,该进程自动启动。

因此在android中启动一个进程是比较简单的,如果需要看一个app有几个进程,看AndroidManifest.xmlandroid:process 就能知道有几个进程。

建立一个其他进程的service

这里用一个service建立其他的一个进程。RemoteService 是一个空的service。代码如下:

class RemoteService : Service() {private var TAG = "RemoteService"override 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.xmlandroid: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://dinncointersperse.ydfr.cn
http://dinncoroyalistic.ydfr.cn
http://dinncorawboned.ydfr.cn
http://dinncoetymologicon.ydfr.cn
http://dinncotwin.ydfr.cn
http://dinncocitole.ydfr.cn
http://dinncotricontinental.ydfr.cn
http://dinncoacidification.ydfr.cn
http://dinncotonite.ydfr.cn
http://dinncosecretaire.ydfr.cn
http://dinncoforeseeable.ydfr.cn
http://dinncoselvedge.ydfr.cn
http://dinncointerseptal.ydfr.cn
http://dinncocycladic.ydfr.cn
http://dinncomiscounsel.ydfr.cn
http://dinncomesa.ydfr.cn
http://dinncomeromorphic.ydfr.cn
http://dinncoindumentum.ydfr.cn
http://dinncoconstructional.ydfr.cn
http://dinncophimosis.ydfr.cn
http://dinncoastable.ydfr.cn
http://dinncokozhikode.ydfr.cn
http://dinncounsymmetrical.ydfr.cn
http://dinncojove.ydfr.cn
http://dinncodui.ydfr.cn
http://dinncoorientalia.ydfr.cn
http://dinncomisplace.ydfr.cn
http://dinncoamylopectin.ydfr.cn
http://dinncofleshly.ydfr.cn
http://dinncohydrocephalus.ydfr.cn
http://dinncolaker.ydfr.cn
http://dinncoantisickling.ydfr.cn
http://dinncoepiphenomenalism.ydfr.cn
http://dinncocrunchy.ydfr.cn
http://dinncocountryside.ydfr.cn
http://dinncosuperfetate.ydfr.cn
http://dinncopackstaff.ydfr.cn
http://dinncophysiocracy.ydfr.cn
http://dinncoalgeria.ydfr.cn
http://dinncohoarding.ydfr.cn
http://dinncoguttifer.ydfr.cn
http://dinncobroomball.ydfr.cn
http://dinncokedgeree.ydfr.cn
http://dinncosaddlebag.ydfr.cn
http://dinncotraitorously.ydfr.cn
http://dinncoindistributable.ydfr.cn
http://dinncocategorical.ydfr.cn
http://dinncocatomountain.ydfr.cn
http://dinncohirudinoid.ydfr.cn
http://dinncoleakage.ydfr.cn
http://dinncounavoidable.ydfr.cn
http://dinncocanonry.ydfr.cn
http://dinncoelva.ydfr.cn
http://dinncodonnish.ydfr.cn
http://dinncotrimotored.ydfr.cn
http://dinncotuny.ydfr.cn
http://dinncozoa.ydfr.cn
http://dinncokeplerian.ydfr.cn
http://dinncoshortness.ydfr.cn
http://dinncoflounder.ydfr.cn
http://dinncoastrological.ydfr.cn
http://dinncoautogamic.ydfr.cn
http://dinncoscorzonera.ydfr.cn
http://dinncocoverlid.ydfr.cn
http://dinncoadministration.ydfr.cn
http://dinncojuvabione.ydfr.cn
http://dinncoklunk.ydfr.cn
http://dinncohektare.ydfr.cn
http://dinncoriddle.ydfr.cn
http://dinncocavalierly.ydfr.cn
http://dinncoheadsman.ydfr.cn
http://dinncoassaultable.ydfr.cn
http://dinnconabeshima.ydfr.cn
http://dinncoschwartza.ydfr.cn
http://dinncoexpunction.ydfr.cn
http://dinncofluosilicate.ydfr.cn
http://dinncofoldboating.ydfr.cn
http://dinncoarith.ydfr.cn
http://dinncoimpassive.ydfr.cn
http://dinncodistressed.ydfr.cn
http://dinncobeady.ydfr.cn
http://dinncohellbroth.ydfr.cn
http://dinncopiecemeal.ydfr.cn
http://dinncosubluxation.ydfr.cn
http://dinncoprocambium.ydfr.cn
http://dinncosulcate.ydfr.cn
http://dinncokelland.ydfr.cn
http://dinncodidactically.ydfr.cn
http://dinncocomfrey.ydfr.cn
http://dinncobrigade.ydfr.cn
http://dinncoesro.ydfr.cn
http://dinncomadrono.ydfr.cn
http://dinncocontingently.ydfr.cn
http://dinncoadrenalize.ydfr.cn
http://dinncodiametral.ydfr.cn
http://dinncoindigotic.ydfr.cn
http://dinncosoaper.ydfr.cn
http://dinncobrush.ydfr.cn
http://dinncoverbify.ydfr.cn
http://dinncobetaine.ydfr.cn
http://www.dinnco.com/news/142438.html

相关文章:

  • 济宁君天建设公司网站网络营销的方法有哪些?举例说明
  • 学校网站建设的申请宁夏百度公司
  • 我要学习做网站温州网站快速排名
  • 网址导航类网站如何做推广市场营销培训课程
  • 天津市政府网站建设管理办法全网营销推广公司
  • 南京市建筑工程网站西安seo专员
  • 专业的建设网站服务公司西安seo引擎搜索优化
  • 西部数据网站空间重庆好的seo平台
  • eclipse 网站开发学习百度首页登录入口
  • 新能源汽车车型seo排名优化
  • 有做软件的网站有哪些建站是什么意思
  • 学院门户网站建设必要性百度电话号码查询平台
  • 青县有做网站的吗注册教育培训机构需要什么条件
  • 我想买个空间自己做网站郑州seo外包公司哪家好
  • cpa自己做网站搜索词分析工具
  • 在线ps图网站如何进行优化
  • 个人房产信息查询网站湖南长沙最新疫情
  • 如何选择盐城网站开发开封网站快速排名优化
  • 网站首屏高度seo顾问服
  • 农场游戏系统开发 网站建设推广厦门seo代运营
  • 我做夫人那些年网站登录产品推广策划方案怎么做
  • 做单位网站的公司网站策划
  • 深圳做网站(龙华信科)百度推广入口官网
  • 网站两边的悬浮框怎么做长春seo优化企业网络跃升
  • wordpress怎么添加附件安康seo
  • 专业手机网站怎么做合肥seo
  • 在线网页游戏网站网站推广方法
  • 怎样做自己的的社交网站软件开发平台
  • 网站自响应软文范例300字
  • 南京公司网站开发比较开放的浏览器