首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OpenCV 在 Android 上的应用

OpenCV 介绍 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。...在移动端上使用 OpenCV 可以完成一系列图像处理的工作。 二. OpenCV 在 Android 上的配置 我在项目中使用的 OpenCV 版本是 4.x。...在 Android Studio 中创建一个 Library,将官网下载的 OpenCV 导入后,就可以直接调用 OpenCV 中 Java 类的方法。...例子两则 3.1 作为二维码识别的兜底方案 在 Android 原生开发中,二维码识别有老牌的 zxing 等开源库。为何还要使用 OpenCV 呢?...总结 OpenCV 是一款功能强大的图像处理库。但是它本身体积也较大,在移动端使用至少会增加 Android Apk 包 10 M+ 的体积(主要取决于 App 要支持多少个 CPU 架构)。

2.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    eBPF在android上的使用

    BCC在android系统上也可以运行,但是要对系统进行一定程度的修改,后续可能会写单独的文章进行讲解。对于内核开发者我还比较关注怎么自己来实现监控的功能,下文也将做简单的讲解。 ?...8)中断性能 三、eBPF框架 在开始说明之前先解释下eBPF上的名词,来帮忙更好的理解。...用户空间程序实现 下面我们需要编写用户空间的显示程序,本质上就是在用户态通过系统调用把BPF map给读出来。 ? ?...2)取得map的fd, bpf_obj_get会直接调用bpf的系统调用。 3)将fd包装成BpfMap,android在BpfMap.h中定义了很多方便的函数。 4)遍历map回调函数。...前面的是pid, 后面的是系统调用次数。 至此,如何在android平台使用eBPF实现统计系统中每个pid在一段时间内系统调用的次数的功能就介绍完了。

    4.5K10

    AspectJ在android上的开发

    Android上运用AOP的思想开发,可以快速的帮助我们简化在横向开发中的重复性工作,简单的说就是把涉及到众多模块的某一类问题进行统一管理比如:性能检测、日志打印手机等。...AspectJ实际上是对AOP编程思想的一个实践,当然,除了AspectJ以外,还有很多其它的AOP实现,例如ASMDex、javassist等,但目前最好、最方便的,依然是AspectJ。...final def variants = project.android.applicationVariants //在全局变量中配置编译项以及,对应的log输出 variants.all { variant...methodDuration); message.append("ms"); message.append("]"); return message.toString(); } } 调用.../Android-AOPExample 熟悉了一遍 补充:Android-AOPExample的例子下载下来,在gradle版本再2.3.0及其以上的版本编译会出现问题 报错误:No such property

    1.3K20

    Activity 不只有跳转。功能篇(一)

    SingleTop:在每次启动活动的时候如果发现栈的栈顶已经有该活动了,那么就直接使用它,不会再创建新的活动实例。...(只要是在A上的实例全部出栈,如ABCD,需要用到B,此时栈中AB,CD出栈) SingleInstance:对于设置该模式的活动(Activity),会创建一个实例保存在新的返回栈中,这是因为可供其他的程序调用这个活动...,在父类中通过OnCreate方法来执行一些公用的代码和Log日志即可。...所有继承该父类的activity都要调用一个父类的onCreate方法。...因为onCreate()调用该方法是系统正在创建一个新的Activity实例或重新创建一个以前的实例,所以您必须Bundle在尝试读取之前检查该状态是否为空。

    1.2K20

    ProGuard 在 Android 上的使用姿势

    如果以上还不足以说服您使用 ProGuard,其实移除无用代码和混淆所有名称还有其他更多的优化效果: 在一些版本的 Android 设备上,DEX 代码会在安装或者运行时被编译成机器码。...当一些类和方法会被动态访问到时(如使用反射),在某些情况下,ProGuard 在构建调用图时不能正确的决定他们的「生死」,导致这些代码被错误的移除掉。...这些警告的一个原因就是,您的构建路径中没有加入需要依赖的 JARs,如使用了 provided (仅编译时)依赖。而有时候,在 Android 上这些代码的依赖在运行时并不会被真正的调用。...在某些情况下,ProGuard 的警告确实有助于您发现闪退的罪魁祸首和关于您配置上的其他问题。...tools 目录下(SDK/tools/proguard/proguard-android.txt),但在新版的 SDK Tools 和 Android Gradle 插件版本2.2.0+上,可以在构建时从

    2.6K40

    Android基础总结(8)——服务

    服务(Service)是Android中实现程序后台运行的解决方案,它非常适合用于去执行哪些不需要和用户交互而且还要长期运行的任务。...此外,我们也不要被服务的后台概念所迷惑,实际上服务并不会自动开启线程,所有的代码都是默认运行在主线程中。...在Service每一次的开启关闭过程中,只有onStart可被多次调用(通过多次startService调用),其他onCreate,onBind,onUnbind,onDestory在一个生命周期中只能被调用一次...,并且必须在其内部调用父类的有参构造函数。...八、服务的最佳实践----后台执行的定时任务   Android中实现定时任务一般有两种方式, 一种是使用java api里提供的Timer类, 一种是使用android的Alarm机制。

    1.6K80

    Carson带你学Android:Service使用全面介绍(本地、可通信的、前台、远程)

    2.1.1 使用步骤 步骤1:新建子类继承Service类 需重写父类的onCreate()、onStartCommand()、onDestroy()和onBind()方法 步骤2:构建用于启动Service...的Intent对象 步骤3:调用startService()启动Service、调用stopService()停止服务 步骤4:在AndroidManifest.xml里注册Service 2.1.2...类 需重写父类的onCreate()、onStartCommand()、onDestroy()和onBind() MyService.java public class MyService extends...="解绑服务" /> 步骤3:在Activity通过调用MyBinder类中的public方法来实现Activity与Service的联系 即实现了...总结 本文对Service的使用进行了全面解析(本地、可通信、前台和远程Service) Carson带你学Android系列文章: Carson带你学Android:页面活动-Activity Carson

    54420

    面向初学者的 Android 应用开发基础知识

    该应用程序是在称为Android Studio 的应用程序上开发的。这些可执行应用程序通过称为APK(Android Package Kit)的包或包安装。 安卓基础 1....Android 编程语言 在 Android 中,基本上,编程是用两种语言JAVA 或 C++和XML(扩展标记语言)完成的。如今,KOTLIN 也是首选。...任何内容提供者都必须实现 ContentProvider 类的父类。...Android App中Activity的生命周期 Android App中Activity的生命周期可以通过这张图来展示: Android 生命周期的状态: 1.OnCreate:首次创建活动时调用...5.OnStop:当活动不再可见时调用。 6.OnRestart:当活动停止并重新启动时调用。 7.OnDestroy:当要关闭或销毁活动时调用它。

    1.3K20

    大话企业级android读书笔记(二)

    Android的四大组件 android的管理员:Activity 用户想在屏幕上做什么,怎么处理用户做出不同的操作都由该Activity来管理和调度。...将他们合并在一起,这七个方法定义了活动的整个生命周期。有三个嵌套的循环,你可以通过这七个方法监视: 活动的整个生命时间,从第一次调用onCreate()开始直到调用onDestroy()结束。...一个活动在onCreate()中做所有的“全局”状态的初始设置,在onDestroy()中释放所有保留的资源。...举例来说,有一个线程运行在后台从网络上下载数据,它可能会在onCreate()中创建线程,在onDestroy()中结束线程。...活动的可视生命时间,从调用onStart()到相应的调用onStop() 。在这期间,用户可以在屏幕上看见活动,虽然它可能不是运行在前台且与用户交互。在这两个方法之间,你可以保持显示活动所需要的资源。

    1K50

    常见Android面试题及答案(详细整理)

    onCreate(): 创建Activity时调用,设置在该方法中,还以Bundle的形式提供对以前存储的任何状态的访问。 onStart(): Activity变为在屏幕上对用户可见时调用。...onStop(): Activity被停止并转为不可见阶段及后续的生命周期事件时调用。 onRestart(): Activity被重新启动时调用。该活动仍然在栈中,而不是启动新的Activity。...两个Activity之间跳转时必然会执行的是哪几个方法。 答: 两个Activity之间跳转必然会执行的是下面几个方法。 onCreate()//在Activity生命周期开始时调用。...答: Android Service是运行在后台的代码,不能与用户交互,可以运行在自己的进程,也可以运行在其他应用程序进程的上下文里。需要通过某一个Activity或者Context对象来调用。...Android.os.Handle是能发送和处理消息的,你需要在Activity中发出更新UI的消息,然后再你的Handler(可以使用匿名内部类)中处理消息(因为匿名内部类可以访问父类变量,你可以直接调用

    3K11

    Android 进程和线程模型

    在 Linux 中,一个用户ID 识别一个给定用户;在 Android 上,一个用户ID 识别一个应用程序。应用程序在安装时被分配用户 ID,应用程序在设备上的存续期间内,用户ID 保持不变。...如下图,显示了两个 Android 应用程序,运行在同一进程上。 ? 不同的应用程序可以运行在相同的进程中。...进程(2号进程),父进程为0号进程,是内核进程,其他内核进程都是直接或者间接以它为父进程 Android的单线程模型 当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread...onPreExecute(),该方法将在执行实际的后台操作前被UI thread调用。...4) onPostExecute(Result),在doInBackground 执行完成后,onPostExecute 方法将被UI thread调用,后台的计算结果将通过该方法传递到UI thread

    1.6K20

    7.Activity

    内存不足 内存不足时,系统会优先杀死后台Activity所在的进程,都杀光了,如果内存还是不足,那么就会杀死暂停状态的Activity所在的进程,如果还是不够,有可能杀死前台进程 如果有多个后台进程,在选择杀死的目标时...Activity中还提供了一个 onSaveInstanceState()回调方法,这个方法会保证一定在活动被回收之前调用, 可以通过这个方法来解决活动被回收时临时数据得不到保存的问题。...Log.d("BaseActivity", getClass().getSimpleName()); }}//2.让 BaseActivity 成为 ActivityTest 项目中所有活动的父类...BaseActivity的 onCreate()方法中调用了 ActivityCollector的 addActivity()方法,表明将当前正在创建的活动添加到活动管理器里。...然后在 BaseActivity中重写 onDestroy()方法,并调用了 ActivityCollector的 removeActivity()方法,表明将一个马上要销毁的活动从活动管理器里移除。

    1.3K150

    Tip | Android的Service相关知识提炼

    使用2.中定义的Handler实例调用sendMessage()将Message实例发送到MQ; 至此完成; 相关笔记:Tip | Android的消息机制 ?...onCreate():服务第一次被创建时调用 onStartComand():服务启动时调用 onBind():服务被绑定时调用 onUnBind():服务被解绑时调用 onDestroy():...在onServiceConnected()方法中, 又通过向下转型得到了MyBinder的实例, 有了它就可以在活动中调用MyBinder中的任何非private方法了, 即实现Service与Activity...可以在新建的继承Service的类的onCreate()方法中,如下编写: ?...且必须在其内部调用父类的有参构造函数; 然后重写onHandleIntent()方法, 里面可以处理一些耗时操作而不用担心 ANR的问题, 因为这个方法已经是在子线程中运行的了。

    65250

    速读原著-Android应用开发入门教程(Android应用程序的概念性描述)

    (2)可见(Visible)进程 它有一个可以被用户从屏幕上看到的 Activity,但不在前台——其 onPause()方法被调用。...运行活动的情景:当一个活动被启动时,活动中的 onCreate()、onStart()和 onResume()这 3 个方法被依次调用,活动对应的界面出现在屏幕上。...onPasuse()方法将被调用,活动转入后台运行。...在转入后台时,onStop()是否被调用取决于活动是否被完全覆盖,在新的活动有透明部分时,转入后台的活动依然“可见”,其他情况下(较多数的情况)活动均进入不可见状态(被完全覆盖)。...使用 StartService 运行服务的情景:使用这种方法启动服务,服务的 onCreate()和 onStart()这两个方法将被调用,服务会在后台运行直到退出,退出时将调用 onDestroy()

    1K10
    领券