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

小技巧 | 在 Android Studio 调试应用 (上)

作为开发者,我们有时会被一些问题所困,导致在调试器中所花费的时间甚至超过了编写代码所用的时间。正因如此,最近我们找机会了解了 Android Studio 团队在提升调试速度方面使用的一些技巧。...举例来说,在一个正在开发的游戏中,您可能希望在玩家的角色与物体碰撞而耗尽其最后的生命值时停止运行。您在碰撞事件上添加断点,但是这么一来,每次碰撞都会导致运行停止。...您也可以通过按住 Alt (在 Mac 上是 Option) 并点击断点,从而更快速地禁用断点。...Developer 官方文档 | 调试预构建的 APK https://developer.android.google.cn/studio/debug/apk-debugger 通过数据浏览来控制数据在调试器中的显示方式...Developer 官方文档 | Android Studio — 调试您的应用 https://developer.android.google.cn/studio/debug IntelliJ IDEA

1.6K20

手把手教你在Android Studio 3.0上分析内存泄漏

Studio 3.0的正式版本,周四早晨在上班的地铁上就看到群里在沸沸扬扬的讨论关于3.0版本的各种坑,啊,不对,各种特性,到公司之后就迫不及待的更新了3.0版本,嗯,还算顺利,只遇到了一个坑,一切都在...手里的板砖先放下,一会说还不行吗,今天我们主要来聊聊如何在Android Studio 3.0上分析内存泄漏,文章的内容很简单,但是自己摸索还是需要一些时间的,所以就在这里记录下来分享给大家。...首先点击工具栏中的Profile按钮将待分析的App安装到设备上,也可以直接安装,在AS底部选择Android Profiler按钮: ?...更新完成之后,需要再次运行一下App,如果还提示不能进行更高级的分析,请重启Android Studio,重启还不好,没关系,反正今天也用不到它,不要打我,下面来看下正常的Android Profiler...OK,到这里,在Android Studio 3.0上分析内存泄漏就学习完了,赶快去动手试试吧!

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

    【Android初级】如何让APP无法在指定的系统版本上运行

    随着市面上越来越多三方APP的出现,某些手机厂商也开始对这些APP进行了安装限制或者运行限制,或者三方APP自身的版本过低,无法被特定的系统版本所支持。...今天我将要模拟实现一个“由于APP自身版本过低、导致无法在当前的系统版本上运行”的功能效果。...实现思路如下: 要获得APP的目标运行版本,也要知道系统的编译版本 通过版本比较,在进入该APP时,给用户做出“不支持运行”的提示 用户确认提示后,直接退出该APP 关键点是 targetSdkVersion....setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { @...中需要定义 uses-sdk 这个标签的 targetSdkVersion 属性: android:targetSdkVersion="25" /> 注意: 如果在 app 目录下的

    2.8K20

    如何调试Android Framework?

    概览 其实整个调试过程非常简单: 在你要调试进程的合适位置打上断点 跟踪代码(Step in/out/over等等) 在展开讲述这两方面之前,有必要先简单了解下调试的基础知识。...如果是调试我们自己写的App,在Android Studio里面非常简单,在Run菜单de最后面有一个attach debugger to android process 的选项,点击之后会出现一个菜单...或许你会说,跟踪代码不就是step in/out/over么,这有什么难的?但其实事情并没有你想象的那么简单,要优雅滴调试,还是需要一些姿势的。 行号对应 跟踪代码一个首要的问题是行号对应。...如果你在正确位置下了断点,但是跟踪的时候,单步调试,发现运行的代码和Android Studio里面的代码对不上号,那么就很蛋疼;要使得调试器的行号能够对应,必须保证设备上的代码和调试器的代码是同一份;...观察栈桢 在Android Studio的调试器的左边,显示了每一个线程执行的栈桢,栈桢里面包含了当前线程丰富的信息: ?

    2.8K22

    Android studio 菜单栏功能讲解翻译

    Engine… 部署模块到App Engine : 类似阿里云的一个服务 Google App Engine 是一种让您可以在 Google 的基础架构上运行您的网络应用程序 九、Run 运行菜单1...Over    单步运行 Force Step Over    强制单步运行 Step Into    进入某个函数内部调试 Force Step Into    强制进入某个函数内部调试 Smart...Step Into    智能决定是否进入 Step Out    跳出当前函数,返回上一层函数 Run to Cursor    运行到光标所作位置的时候停止 Force Run to Cursor...Help 帮助菜单: Find Actions:    寻找行为 Android Studio Help    AS帮助: 自动打开 http://developer.android.com/r/studio-ui...utm_source=android-studio Licences    协议对话框 Keymap Reference    快捷键指引PDF https://resources.jetbrains.com

    10610

    LeakCanary 学习与实践

    The First: 没有人喜欢OutOfMemoryError崩溃 在Square Register中,我们在 bitmaps 缓存上绘制客户的签名。...RefWatcher.watch() 为被监视对象创建 KeyedWeakReference; 稍后,在后台线程中,它会检查引用是否已被清除,如果没有,则会触发GC; 如果仍未清除引用,则它会将堆转储到 .hprof 存储在文件系统上的文件中...如果 leakcan-android 不在 Android Studio 的外部库列表中,但是泄漏分析器和泄漏监视器就在那里:尝试做一个Clean Build。...构建错误:无法解决 如果在 Android Studio 处于脱机工作模式时添加 LeakCanary 依赖项,则会发生这种情况。...Instant Run 可以触发无效泄漏 启用Android Studio的 Instant Run 功能可能会导致LeakCanary报告无效的内存泄漏。

    1.3K30

    Android debug_Android开发在手机上调试

    Android Studio目前已经成为开发Android的主要工具,用熟了可谓相当顺手。作为开发者,调试并发现bug,进而解决,可是我们的看家本领。...正所谓,工欲善其事必先利其器,和其他开发工具一样,如Eclipse、Idea,Android Studio也为我们提供了强大的调试技巧,今天我们就来看看Android Studio中有关调试的技巧。...首先,来看看Android studio中为我们提供的调试面板(标准情况下): 点击右上角Restore ‘Threads’View可先展示目前相关的线程信息: android studio...---- 单步调试区 该区提供了调试的主要操作,和你所熟知的一样的,主要有:Step over、step into、force step into、step out、drop frame。

    37540

    013android初级篇之Android Studio 引用源码模块,jar及so文件

    下面逐步介绍 step1: 准备好欲导入的子模块代码 step2: 将子模块作为模块导入 在android studio中选择菜单"File > Import Module..."...注意: 根据经验,导入时,会把源码目录名作为模块名; step3: 修改附属关系 打开app-project 子模块中的build.gradle文件,其位于: [project-folder]/app...其实这些现在基本不用手动添加,引入的时候,AS 已经帮你设置好了,不过还有一项可能需要配置 在主 gradle.properties配置上sdk的值 ANDROID_BUILD_MIN_SDK_VERSION...已成功导入的jar包可以在android studio 中看到该包的信息。 3. 引用so文件 网上有很多引用so文件的方法,多数都很麻烦,在KYLE THIELK的博客中找到了一种简单的方法。...Studio开发入门-引用jar及so文件 Android Studio如何删除module Android studio 导入github工程

    1.8K20

    Android入门教程二之开发环境搭建

    ,当然这段过渡时间会很长,但如果你是刚学Android的话建议直接冲Android Studio着手;而且很多优秀的开源项目都是基于Android Studio!...当然,在本教程中对两种开发环境都会进行一个介绍,用哪个取决与你自己~ 还有一个IntelliJ,和Android Studio差不多的,并不对此进行讲解!...一开始也说了开发环境IDE的现状,另外前面忘记说一点:Android Studio是比较吃配置的,如果电脑不怎么好,建议还是先使用Eclipse进行Android开发,下面先说下我们熟悉IDE开发APP...,把sdk根目录地址贴上去: Step 2:更新Path环境变量,在Paht开头加上:%ANDROID_HOME%\tools; 即可 配置完了,接下来就来学习指令了: ---- 5.APP程序打包与安装的流程...: ---- 6.APP的安装过程: 7.本节小结 本节我们对Android开发IDE的现状进行了分析,建议初学者硬件条件允许的话,使用Android Studio来进行Android APP

    52420

    Xamarin 2.0:基于Mono跨平台开发框架

    作为一个跨平台开发框架,在这一框架内,开发 Android 和 iOS 应用可以不用转到 Eclipse 或者额外购买 Mac 并使用 Xcode,而继续在Visual Studio之中使用 C# 与...这个版本带来四个新功能: 1、新的IDE——Xamarin Studio,Xamarin的CEO Nat Friedman表示,该IDE与iOS和Android SDK紧密集成,便于开发者在模拟器和真实的设备上构建...以及Visual Studio无缝整合,开发者能够更方便地将这些部件和功能加入到自己的App中去。...3、在Visual Studio 中开发 iOS 应用程序:可以在Windows上通过Visual Studio开发ios应用,可以使用Visual Studio上的所有开发工具,包括TFS。...而在Android上,应用程序会转换为IL,启动时再进行JIT编译。

    3.3K80

    Android Uiautomator2 脱机 Monkey 测试

    本文就尝试把Android Monkey测试脱机运行,截止到写这篇文章.基本功能已经实现,还差一些适配问题和优化. 自动化框架对比 现在主流移动端自动化框架,基本上都是在pc上运行来操作移动端设备....Appium 这种cs架构的自动化框架,需要在pc上开启一个服务,然后手机上安装各种的可以通信的app,比如bootstrap、wda等.在启动测试脚本后、bootstrap接受指令,最后调度UiAutomator...展示效果 app获取系统权限 目前仅对模拟器和root过的手机适配过,原因在于在app内部执行shell命令需要系统权限....解决方案是给app添加系统权限并且系统权限签名,在AndroidManifest.xml增加"android:sharedUserId=“android.uid.system”,然后使用platform.pk8...崩溃获取 在Android中可以自定义CrashHandler类来捕获崩溃,需要一个当前app的上下文环境,现在还获取不到被测app的崩溃,这个问题也后续调用如何捕获运行时崩溃.

    3.3K20
    领券