摘要: JsBridge主要用于“JS与Native的通信”,众所周知Android 4.2以下的WebView存在addJavascriptInterface漏洞的问题,为解决这一问题国内很多知名大厂很早就在各自项目中集成了JsBridge。 阅读全文
posted @ 2020-03-02 16:05 bjxiaxueliang 阅读(1325) 评论(0) 推荐(0) 编辑
摘要: RxJava—一个可以在JVM上运行的,基于观察者模式 实现异步操作的java库。其英文描述为:RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java 阅读全文
posted @ 2020-03-02 16:02 bjxiaxueliang 阅读(1246) 评论(0) 推荐(1) 编辑
摘要: 今天在三星S8上遇见一个奇葩问题`Only fullscreen opaque activities can request orientation`,探究一下Android源码,出现这个错误的原因,以及解决方案。 阅读全文
posted @ 2020-03-02 16:01 bjxiaxueliang 阅读(9357) 评论(0) 推荐(0) 编辑
摘要: HashMap对于程序员来说并不陌生,无论是Java还是Android研发人员,HashMap都是日常广泛使用的数据结构,通过这篇文章探究一下其具体实现原理。 阅读全文
posted @ 2020-03-02 15:59 bjxiaxueliang 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 我们在用MAT(Memory Analyzer Tool)分析Android内存时,会发现大量的bitmap对象占了内存使用。但是很难定位究竟是哪张图片占用了内存,这里介绍一种查看bitmap的方法。 MAT、GIMP下载 MAT http://www.eclipse.org/mat/downloa 阅读全文
posted @ 2020-03-02 15:57 bjxiaxueliang 阅读(690) 评论(0) 推荐(0) 编辑
摘要: SparseArray与ArrayMap是Android提供的两个列表数据结构。SparseArray相比于HashMap采用的是,时间换取空间的方式来提高手机App的运行效率。而ArrayMap实现原理上也类似于SparseArray。 阅读全文
posted @ 2020-03-02 15:55 bjxiaxueliang 阅读(1470) 评论(0) 推荐(0) 编辑
摘要: 英文原文地址 "Memory optimization for feeds on Android" 读后感 在Java中HashSet只能存放继承自Objcet的对象,这中情况下“基本数据类型”转化为继承自Object的( 、`Long`等)会产生很多中间Object对象,占用过多的内存,从而引发垃 阅读全文
posted @ 2020-03-02 15:54 bjxiaxueliang 阅读(413) 评论(0) 推荐(0) 编辑
摘要: [译]How to handle background services in ANDROID O? 如何处理Android O的后台Service 前段时间公司项目中做Android O的适配。在了解Android O新功能时,看到这个文章,虽然介绍的是Android O的预览版,但读了一遍感觉不 阅读全文
posted @ 2020-03-02 15:53 bjxiaxueliang 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 前两天测试组同学问我,公司Android客户端5人小Team的Git版本是怎么管理的。想了想要不画一个时序图吧。 ========== THE END ========== 阅读全文
posted @ 2020-03-02 15:52 bjxiaxueliang 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 非对称加密算法指的是 加、解密使用不同的密钥,一把为公开的公钥,另一把为私钥。 公钥加密的内容只能由私钥进行解密,反之由私钥加密的内容只能由公钥进行解密。也就是说,这一对公钥、私钥都可以用来加密和解密,并且一方加密的内容只能由对方进行解密。 阅读全文
posted @ 2020-03-02 15:47 bjxiaxueliang 阅读(3229) 评论(0) 推荐(0) 编辑
摘要: obj文件是3D模型文件格式。由Alias|Wavefront公司为3D建模和动画软件"Advanced Visualizer"开发的一种标准,适合用于3D软件模型之间的互导,也可以通过Maya读写。 阅读全文
posted @ 2020-03-02 15:45 bjxiaxueliang 阅读(5493) 评论(0) 推荐(0) 编辑
摘要: Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。改文章,我们通过使用Jenkins自动化工具,定期打包我们的Android APK项目,方便研发与测试的协同。 阅读全文
posted @ 2020-03-02 15:42 bjxiaxueliang 阅读(1395) 评论(0) 推荐(0) 编辑
摘要: `NanoHttpd`仅有一个Java文件的微型Http服务器实现。其方便嵌入式设备(例如:Android设备)中启动一个本地服务器,接收客户端本地部分请求;应用场景也非常广泛,例如:本地代理方式播放m3u8视频、本地代理方式加载一些加密秘钥等。 阅读全文
posted @ 2020-03-02 15:39 bjxiaxueliang 阅读(4616) 评论(0) 推荐(1) 编辑
摘要: 从Support Library 23.2.0 开始,AppCompat 新增了主题:`Theme.AppCompat.DayNight`。其允许APP在 `深色主题` 和 `亮色主题` 之间切换;可以大幅减少耗电量(`OLED显示屏`的设备上,`深色主题`较`亮色主题` 有更加持久的续航能力);改善弱视以及对强光敏感的用户的可视性;让所有人都可以在光线较暗的环境中更轻松地使用设备,从而提升用户体验。 阅读全文
posted @ 2020-03-02 15:37 bjxiaxueliang 阅读(1217) 评论(0) 推荐(0) 编辑
摘要: 在Android 10开始版本中,官方的改动较大,相应的开发者适配成本还是很高的。 这里按照`2019.11.11 google android q workshop`流程,大概说明一下Android Q适配需要注意的内容。虽然是大概介绍,但应该是目前最全的适配攻略了... 阅读全文
posted @ 2020-03-02 15:36 bjxiaxueliang 阅读(1880) 评论(0) 推荐(0) 编辑
摘要: 公司要求对视频的 秒开率(1秒内成功加载的播放数 / 播放总数)、失败率 (播放失败的次数 / 播放总数) 等进行优化。经过线上AB测试发现,`m3u8视频(第一段切片为1~3秒)`在秒开率、失败率等性能指标上均优于`普通mp4视频`。这里探究一下,m3u8视频(第一段切片为1~3秒) 在秒开率上均优于 普通mp4视频 的原因。 阅读全文
posted @ 2020-03-02 15:26 bjxiaxueliang 阅读(2072) 评论(0) 推荐(0) 编辑
摘要: Android 日志工具 最近项目开发中,遇到一个痛点: 项目模块较多,不同日志混合在一起;出现线上问题时,所有日志信息混合在一起,定位困难。 为解决这个问题,有了这个工具。这个工具有以下作用: + 开发模式 debug 为 true 时,打印在控制台,同时打印到文件; + 发版模式 debug 为 阅读全文
posted @ 2020-03-02 15:13 bjxiaxueliang 阅读(760) 评论(0) 推荐(0) 编辑
摘要: `StateMachine`不是`Android SDK`中的相关API,是存在于`frameworks`层源码中的一个Java类。通过这篇文章探究一下其使用方式以及实现原理。 阅读全文
posted @ 2020-03-02 14:56 bjxiaxueliang 阅读(3655) 评论(2) 推荐(1) 编辑