F-droid源码片段(一)

 

protected boolean update() {

        long startTime = System.currentTimeMillis();

        compareCacheToPackageManager();
        updateCache();

        long duration = System.currentTimeMillis() - startTime;
        Log.d(TAG, "Took " + duration + "ms to compare the installed app cache with PackageManager.");

        return hasChanged();
    }

比对系统的已安装的应用,查询需要插入和删除的应用列表

    private void compareCacheToPackageManager() {

        Map<String, Integer> cachedInfo = InstalledAppProvider.Helper.all(context);

        List<PackageInfo> installedPackages = context.getPackageManager().getInstalledPackages(0);
        for (PackageInfo appInfo : installedPackages) {
            toInsert.add(appInfo);
            if (cachedInfo.containsKey(appInfo.packageName)) {
                cachedInfo.remove(appInfo.packageName);
            }
        }

        if (cachedInfo.size() > 0) {
            for (Map.Entry<String, Integer> entry : cachedInfo.entrySet() ) {
                toDelete.add(entry.getKey());
            }
        }
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Droid-SLAM 是一个基于 Android 平台的实时单目 SLAM 系统,它能够在移动设备上实现实时的场景重建和相机定位。Droid-SLAM 的码主要包含以下几个部分: 1. Camera Calibration:相机标定模块,用于对相机进行标定,获取相机内参和畸变参数等信息。 2. Feature Extraction and Matching:特征提取和匹配模块,用于从相机图像中提取 SIFT 特征,并进行特征匹配。 3. Pose Estimation:位姿估计模块,用于通过特征匹配结果,计算相机的姿态变换矩阵。 4. Mapping and Optimization:地图构建和优化模块,用于构建相机运动轨迹和场景点云地图,并进行地图优化。 下面简要介绍一下 Droid-SLAM 的码实现: 1. Camera Calibration 相机标定使用的是 OpenCV 库中的函数,具体实现可以参考 OpenCV 官方文档。标定结果包括相机内参矩阵和畸变参数等信息,可以用于后续的特征提取和匹配。 2. Feature Extraction and Matching 特征提取使用的是 SIFT 算法,可以通过 OpenCV 库中的函数实现。SIFT 特征具有旋转不变性和尺度不变性,适合用于图像匹配。匹配算法使用的是 FLANN 匹配器,可以加快匹配速度。 3. Pose Estimation 位姿估计使用的是 PnP 算法,通过已知的特征点对和相机内参,计算相机的姿态变换矩阵。PnP 算法可以通过 OpenCV 库中的函数实现。 4. Mapping and Optimization 地图构建和优化使用的是 g2o 库,它是一个用于图优化的 C++ 库,可以用于优化相机位姿和地图点云。具体实现中,通过将相机位姿和地图点云表示为顶点,将它们之间的约束表示为边,在图中进行优化,以得到更加准确的相机位姿和地图点云。 以上是 Droid-SLAM 的码实现的简要介绍,详细的实现细节可以参考码和相关文献。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值