首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确关闭JGit?

如何正确关闭JGit?
EN

Stack Overflow用户
提问于 2022-08-07 09:31:09
回答 1查看 58关注 0票数 0

我在Android7.1.2上使用org.eclipse.jgit:3.7.1.201504261725-r

我是这样创建JGit的Git的:

代码语言:javascript
复制
repo = FileRepositoryBuilder()
    .setGitDir(File(gitDir))
    .findGitDir()
    .build()
...
repo.create()
...
git = Git(repo)

然后我就从遥控器里拿着:

代码语言:javascript
复制
git.pull().setCredentialsProvider(auth).call()

然后我要关闭jgit:

代码语言:javascript
复制
git.close()
repo?.close()

问题是,执行拉后,Android的Profiler显示,一个连接保持打开,大约每5秒发送一小块数据。

而且,每次我执行拉力时,我都会得到越来越多的连接:

问题是--我如何正确地关闭jgit,使其在调用git.close()时立即关闭所有连接?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-07 16:17:32

可能的解决方案:将交互w/ JGit保持在一个单独的过程中

代码语言:javascript
复制
<service
    android:name=".GitOpsService"
    android:process=":git_ops"/>

并在完成所有git操作后完全杀死Service

代码语言:javascript
复制
val myPid = android.os.Process.myPid()
android.os.Process.killProcess(myPid)

此解决方案关闭所有jgit的连接,并破坏服务流程中创建的其他所有内容。

另一方面,我仍然不知道如何使JGit清理所有它的混乱。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73266323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档