我在Android7.1.2上使用org.eclipse.jgit:3.7.1.201504261725-r。
我是这样创建JGit的Git的:
repo = FileRepositoryBuilder()
.setGitDir(File(gitDir))
.findGitDir()
.build()
...
repo.create()
...
git = Git(repo)然后我就从遥控器里拿着:
git.pull().setCredentialsProvider(auth).call()然后我要关闭jgit:
git.close()
repo?.close()问题是,执行拉后,Android的Profiler显示,一个连接保持打开,大约每5秒发送一小块数据。

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

问题是--我如何正确地关闭jgit,使其在调用git.close()时立即关闭所有连接?
发布于 2022-08-07 16:17:32
可能的解决方案:将交互w/ JGit保持在一个单独的过程中
<service
android:name=".GitOpsService"
android:process=":git_ops"/>并在完成所有git操作后完全杀死Service。
val myPid = android.os.Process.myPid()
android.os.Process.killProcess(myPid)此解决方案关闭所有jgit的连接,并破坏服务流程中创建的其他所有内容。
另一方面,我仍然不知道如何使JGit清理所有它的混乱。
https://stackoverflow.com/questions/73266323
复制相似问题