第三方android 模拟器流畅速度快,适合开发人员-编程思维

“工欲善其事,必先利其器。” 使用Android模拟器开发和调试应用肯定比使用真机方便。但相比XCODE的IOS模拟器,Android SDK自带的AVD实在不争气,不过一些第三方的模拟器却表现不俗! 12年我开始接触Android开发时候,手头上甚至连一部低端的Android手机都没有,那时候用的是Android SDK自带的AVD模拟器,相信任何Android开发者都对这货深恶痛绝。一直以

android存储方式的应用场景-编程思维

作为一个完整的应用程序,数据存储操作是必不可少的。因此,Android系统一共提供了四种数据存储方式。分别是:SharePreference、文件存储、SQLite、 Content Provider。对这几种方式的不同和应用场景整理如下。第一种: 使用SharedPreferences存储数据  适用范围:保存少量的数据,且这些数据的格式非常简单:字符串型、基本类型的值。比如应用程序的各种配置

java内部类持有外部类的引用详细分析与解决方案-编程思维

在Java中内部类的定义与使用一般为成员内部类与匿名内部类,他们的对象都会隐式持有外部类对象的引用,影响外部类对象的回收。 GC只会回收没有被引用或者根集不可到达的对象(取决于GC算法),内部类在生命周期内始终持有外部类的对象的引用,造成外部类的对象始终不满足GC的回收条件,反映在内存上就是内存泄露。(如,Android中Activity的内存泄露) 解决方案为 1.将内部类定义为static

android layoutinflater.inflate(int resource, viewgroup root, boolean attachtoroot)的参数理解-编程思维

方法inflate(int resource, ViewGroup root, boolean attachToRoot) 中 第一个参数传入布局的资源ID,生成fragment视图,第二个参数是视图的父视图,通常我们需要父视图来正确配置组件。第三个参数告知布局生成器是否将生成的视图添加给父视图。 我们新建一个项目测试一下: activity_main.xml <?xml version

python+appium实现app自动化测试-编程思维

一、环境准备 1.脚本语言:Python3.x IDE:安装Pycharm 2.安装Java JDK 、Android SDK 3.adb环境,path添加E:\Software\Android_SDK\platform-tools 4.安装Appium for windows,官网地址 http://appium.io/ 二、真机测试 1.连接手机 打开开发者模式,USB线连接手机和电脑,并且

from java to kotlin:空安全、扩展、函数、lambda很详细,这次终于懂了-编程思维

From Java To Kotlin, 空安全、扩展、函数、Lambda 概述(Summarize) Kotlin 是什么? 可以做什么? Android 官方开发语言从Java变为Kotlin,Java 有哪些问题? Kotlin的优点 Kotlin 特性(Features) Kotlin 是什么? Kotlin 出自于捷克一家软件研发公司 JetBrains ,这家公司开发出很多优秀

maui android 关联文件类型-编程思维

实现效果 打开某个文件,后缀是自己想要的类型,在弹出的窗口(用其它应用打开)的列表中显示自己的应用图标 点击后可以获得文件信息以便于后续的操作 实现步骤 以注册.bin后缀为例,新建一个MAUI项目 调整启动模式 修改Platforms\Android\MainActivity.cs [Activity(Theme = "@style/Maui.SplashTheme", MainLaunch

用谷歌浏览器来当手机模拟器-编程思维

     很多网站都通过User-Agent来判断浏览器类型,如果是3G手机,显示手机页面内容,如果是普通浏览器,显示普通网页内容。  谷歌Chrome浏览器,可以很方便地用来当3G手机模拟器。在Windows的【开始】-->【运行】中输入以下命令,启动谷歌浏览器,即可模拟相应手机的浏览器去访问3G手机网页:  谷歌Android: chrome.exe --user-agent="Mo

android端代码染色原理及技术实践-编程思维

导读 高德地图开放平台产品不断迭代,代码逻辑越来越复杂,现有的测试流程不能保证完全覆盖所有业务代码,测试不到的代码及分支,会存在一定的风险。为了保证测试全面覆盖,需要引入代码覆盖率做为测试指标,需要对SDK代码进行染色,测试结束后可生成代码覆盖率报告,作为发版前的一项重要卡点指标。本文小结了Android端代码染色原理及技术实践。   JaCoCo工具 JaCoCo有以下优点:

高德js依赖分析工程及关键原理-编程思维

一、背景 高德 App 进行 Bundle 化后,由于业务的复杂性,Bundle 的数量非常多。而这带来了一个新的问题——Bundle 之间的依赖关系错综复杂,需要进行管控,使 Bundle 之间的依赖保持在架构设计之下。 并且,为了保证 Bundle 能实现独立运转,在业务持续迭代的过程中,需要逆向的依赖关系来迅速确定迭代的影响范围。同时,对于切面 API(即对容器提供的系统 API,类似浏览

字节码技术在模块依赖分析中的应用-编程思维

背景 近年来,随着手机业务的快速发展,为满足手机端用户诉求和业务功能的迅速增长,移动端的技术架构也从单一的大工程应用,逐步向模块化、组件化方向发展。以高德地图为例,Android 端的代码已突破百万行级别,超过100个模块参与最终构建。   试想一下,如果没有一套标准的依赖检测和监控工具,用不了多久,模块的依赖关系就可能会乱成一锅粥。   从模块 Owner 的角度看,为什么依赖分析这么重要?

编码规范 | java函数优雅之道(上)-编程思维

导读 随着软件项目代码的日积月累,系统维护成本变得越来越高,是所有软件团队面临的共同问题。持续地优化代码,提高代码的质量,是提升系统生命力的有效手段之一。软件系统思维有句话“Less coding, more thinking(少编码、多思考)”,也有这么一句俚语“Think more, code less(思考越多,编码越少)”。所以,我们在编码中多思考多总结,努力提升自己的编码水平,才能编写

android native 内存泄漏系统化解决方案-编程思维

导读:C++内存泄漏问题的分析、定位一直是Android平台上困扰开发人员的难题。因为地图渲染、导航等核心功能对性能要求很高,高德地图APP中存在大量的C++代码。解决这个问题对于产品质量尤为重要和关键,高德地图技术团队在实践中形成了一套自己的解决方案。   分析和定位内存泄漏问题的核心在于分配函数的统计和栈回溯。如果只知道内存分配点不知道调用栈会使问题变得格外复杂,增加解决成本,因此两者缺一不

这么分析大文件日志,以后就不用加班卷了!-编程思维

有没有熟悉这样的场景: 时间已过十一点,空荡荡的办公室只剩自己孤身一人。陪你伏案忙碌的只有电脑风扇被迫营业的“嗡嗡”声, 窗外的夜正黑得带劲,仿佛巨兽的口吞噬自己的无奈。 天性善良不善言辞的你,容易被人颐指气使,加班对你来说是家常便饭。 作为一名码农,“我到底哪里错了,我需要怎么解决?”是我的座右铭。但是,解决问题的过程需要耐心和细心,需要在大文件日志中寻找问题线索,耗费巨量的时间和精力。因此

修改android的apk包-编程思维

解包 使用apktool工具,对apk进行反编译并解包   注:需使用java1.8来执行jar包 set PATH=E:\NVPACK\jdk1.8.0_77\bin;%PATH% java -jar %~dp0\apktool\apktool.jar d D:\MyTest1-Android-Test-arm64.apk // 对MyTest1-Android-Test-arm64.pa

visual studio agde插件-编程思维

AGDE(Android Game Development Enironment,安卓游戏开发环境)是一款VS插件,用于在VS中进行Android平台的C++ Native代码构建、部署、调试和性能分析。可以从这里下载。 ① 使用MSBuild构建(支持Incredibuild编译加速)并自动部署(deploy)到手机上。 ② 使用LLDB作为C++调试器,不支持Java调试。 ③ 支持CPU和