• Android WebChromeClient下实现javaScript和Android互调

    作者: 陆金龙       发表时间: 2024-02-25 04:55
    ==========================1.js实现========================== var nativeUtils={};   nativeUtils.CallBackMethods = new Hashtable();   //js调用本地函数 nativeUtils.invoke = function () {   var methodid = arguments[0] + (new Date()).getTime() + parseInt(Math.random() *...
  • Android第三方网络请求(Retrofit)、权限请求(Permission4M)框架

    作者: 陆金龙       发表时间: 2024-02-25 04:52
    关键词:网络请求  权限请求  Retrofit  Permission4M  
    1.网络请求框架 Volley、OkHttp或xUtils? Retrofit或者Volley+OkHttp   参考意见: 公司项目一直在使用xutils发现在网络请求时存在一些bug,调研发下xutils这种聚合型框架一定要放弃,可读性差,耦合高,难扩展,不利于以后代码的迭代和错误纠正,现在重新调研选择了发现,Retrofit或者Volley+OkHttp。   网络请求框架总结 1.xutils      此框架庞大而周全,这个框架可以网络请求,同时可以图片加载,又可以数据存...
  • Android内存泄漏及内存优化框架

    作者: 陆金龙       发表时间: 2024-02-25 04:49
    1.内存泄漏的场景 1.1 单例持有了Activity的context的引用 改为单例持有applicationContext对象的引用。 1.2 内部非静态类持有了类的实例引用 使用内部静态类。 1.3 Handler造成内存泄漏 将Handler声明为静态的内部类 继承Handler 通过弱引用的方式引入Activity private Handler mHandler; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { ...
  • Android UI卡顿及UI卡顿框架使用

    作者: 陆金龙       发表时间: 2024-02-25 04:48
    1.UI卡顿的原理 16ms一帧 16ms内处理所有的计算和渲染 卡顿原因 1.UI线程中使用耗时操作。 耗时操作必须放到子线程进行 handler runOnUiThread 通知UI线程处理界面。 2.布局Layout过于复杂 3.View过度绘制 有些像素在一定时间内重复绘制 4.View频繁的触发measure、layout 5.内存频发触发GC 临时变量过多 2.卡顿优化框架BlockCanary compile 'com.github.moduth:blockcanary-ui:1.2...
  • JNI C语言基础

    作者: 陆金龙       发表时间: 2024-02-25 04:42
    通过JNI(java native interface)可以调用优秀的C开源库: opnecv 人脸识别 ffmpeg 音视频解码 openGL 跨编程语言、跨平台的编程接口规格的专业的图形程序接口 MediaFramework Surface Manager Webkit SQLite Linux Kernel:Display Driver Bluetooth Driver 图形图像处理(C、C++实现) 1. C开发 开发工具:Dev-C++ C HelloWorld C 基本数据类型 ...
  • Android中webView中Js调用安卓方法不执行

    作者: Kinglong       发表时间: 2023-07-16 05:25
    android中webView中Js调用安卓方法不执行是因为大于等于17后就需要对调用方法加注解才 会执行。在js要调用的方法上面加@JavascriptInterface即可。 js代码如下: <script language=JavaScript>  function getData(url,d){       javascript:myjavascript.getData(url,d,1);   } </script>   android代码...
  • Android项目开发的架构选择

    作者: 陆金龙       发表时间: 2023-02-04 09:10
    转载,内容来源: 作者:知乎用户 链接:https://www.zhihu.com/question/45517397/answer/99293671 来源:知乎 1.传统MVC架构 Android最原生、最基础的架构,可以理解为MVC,Controller即是Activity和Fragment,这两者掌握了Android系统中绝大多数的资源,并且在内部直接控制View。 传统的Android App一般是以Activity和Fragment为核心,将网络模块,数据库管理块,文件管理模块,常用工具类等分离成若干工具类包,供Activity和F...
  • ButterKnife被弃用,ViewBinding成为替代方案

    作者: 陆金龙       发表时间: 2023-02-04 08:46
    在Gradle 5.0的插件中Resource 的Id值将不会再是final类型,因此应该避免在注解属性中使用Id。 这意味着Gradle插件升级到5.0版本之后ButterKnife将无法再被使用。 在ButterKnife的官方文档上也看到了ButterKnife被标注弃用。 ButterKnife 在Android项目的library模块中,生成R类中的成员变量就已经改为了非final修饰。直接致使ButterKnife无法在Android项目的library模块中使用。 DataBinding DataBinding是Google官方在2...