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

获取屏幕上正在显示的activity 博客分类: Android小技巧

用过ActivityManager的童鞋估计都知道,可以从ActivityManager里面可以获取到当前运行的所有任务,所有进程和所有服务,这是任务管理器的核心。...仔细看getRunningTasks的文档,里面说获取的是系统中"running"的所有task,"running"状态包括已经被系统冻结的task。...而且返回的这个列表是按照顺序排列的,也就是说第一个肯定比第二个后运行。 getRunningTasks有个整型参数,表示返回列表的最大个数。...那么,我们如果把1作为参数给进去,那么他返回的task就是当前运行的那个task,然后从task中获取到最顶层的activity,这个activity就是当前显示给用户的那个activity了。...("", "pkg:"+cn.getPackageName()); Log.d("", "cls:"+cn.getClassName());           至于这个能做什么,嘿嘿,我相信你知道的。

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

    Android绘制优化(二)布局优化

    需要注意的是在在Android的官方文档中提到:出于安全考虑,Hierarchy Viewer只能连接Android开发版手机或是模拟器。...Layout View:整体布局图,以手机屏幕上真实的位置呈现出来。单击某一个控件,会在Tree Overview窗口中显示出对应的控件。...使用ViewStub来提高加载速度 一个很常见的开发场景就是我们想要一个布局时,并不是所有的控件都需要显示出来,而是显示出一部分,对于这种情况,我们一般采用的方法就是使用View的GONE和INVISIBLE...可以使用注释1和注释2处的代码来将ViewStub引用的布局加载到ViewStub中,这样引用的布局就显示了出来。...绿色: 两次过度绘制 – 每个像素点在屏幕上绘制了三次。 粉色: 三次过度绘制 – 每个像素点在屏幕上绘制了四次。 红色: 四次或四次以上过度绘制 – 每个像素点在屏幕上绘制了五次或者五次以上。

    1.2K80

    android studio打开模拟器出现The emulator process for AVD XXX(你的模拟器名字) was killed.或显示缺少ANDROID_SDK_ROOT

    出现问题 android studio打开模拟器出现The emulator process for AVD XXX(你的模拟器名字) was killed....Please define ANDROID_SDK_ROOT 解决办法 先查看你是否有定义环境变量 ANDROID_HOME和ANDROID_SDK_HOME ANDROID_HOME指的是你sdk...的位置 ANDROID_SDK_HOME指向一个avd文件夹,这里由于很多人系统名存在中文,所以我猜是这个导致的问题 至于如何寻找avd文件夹,可以打开AVD,然后由下面位置打开 然后把路径复制到以上的...ANDROID_SDK_HOME的值,如果你的路径存在中文,推荐找个地方创建一个avd文件夹,路径不带中文那种,然后复制到值里面(我这里随便在sdk的路径下创建了,我觉得不太合适,可以在其他地方放) 记得删除原来那个...环境变量重启后生效 然后你就会发现他突然就能用了~~ 哦对,记得检查你的setting里面是否存在对应的sdk和XAXM,如果不存在,没有打勾,记得勾上,或者update一下 环境变量重新定义后,记得要重启电脑

    4.2K30

    Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案

    这里,如果在异步数据完成加载之后,旋转屏幕,使用上述a、b两种方法都不会很难,无非是保存数据和恢复数据。...这样,其实给我们带来一个很大的问题,DialogFragment说白了是Fragment,和当前的Activity的生命周期会发生绑定,我们旋转屏幕会造成Activity的销毁,当然也会对DialogFragment...Bundle中的数据必须能够被序列化和反序列化),这样会消耗大量的内存和导致配置变化缓慢。...下面我们希望有一种解决方案:在加载数据时旋转屏幕,不会对加载任务进行中断,且对用户而言,等待框在加载完成之前都正常显示: 当然我们还使用Fragment进行数据保存,毕竟这是官方推荐的: OtherRetainedFragment...,但是丝毫不影响加载数据任务的运行和加载框的显示~~~~ 效果图: 可以看到我在加载的时候就三心病狂的旋转屏幕~~但是丝毫不影响显示效果与任务的加载~~ 最后,说明一下,其实不仅是屏幕旋转需要保存数据

    2.1K20

    实战 | Android过度绘制自动化测试

    屏幕上如果有大块的的蓝色区域是可以接受的,但如果整个屏幕都是蓝色的,那就需要优化了,可以去掉一层 绿色 表示重绘了2次,即一个像素点被绘制了3次。...这个不正确的,必须进行优化 手工测试方案 其实 Android 平台已经提供了工具来帮助我们确定过度绘制是否会影响应用的性能,如果是通过手工的方式,首先需要按照以下步骤打开显示过度绘制区域的选项:...设置 -> 开发者选项 -> 调试GPU过度绘制 -> 显示过度绘制区域 GPU 过度绘制调试工具使用颜色编码来显示应用在屏幕上绘制每个像素的次数,此计数越高,过度绘制影响应用性能的可能性越大。...函数仅在Android 4.4.4源码中有实现,在Android 5.0之后就被去掉了,所以我们需要准备一台Android 4.4.4的模拟器或者真机,我用的是Genymotion的模拟器。...,这时候打开先前安装的Xposed框架,进入Modules 会看到自己刚刚装的插件,点击开启重启模拟器即可生效 通过下面的命令切换show和count模式: adb shell setprop debug.hwui.overdraw

    43910

    为 64 位版本的 Android Studio 和 Android 模拟器做好准备

    在 64 位操作系统下使用 Android Studio 不仅能够提高 IDE 和 Android 模拟器的内存访问效率,而且有助于改善整体开发体验。...在弃用阶段,Android Studio 与 Android 模拟器仍可继续工作,但不会再提供任何新特性的更新。在此过渡时期,开发者仍可前往 Android Studio 官网下载产品。...具体的弃用和支持终止日期,请见下表: 64 位开发环境的优势 Android Stuidio 64 位版本具备诸多优势,其中包括: 性能: IDE 可访问超过 4GB 的内存,因此在性能方面有了很大的提升...如果您当前正在负责大型项目的开发工作,更多的内存意味着更好的开发体验。 64 位应用支持: C/C++ 源代码开发者可以同时为应用构建 32 位和 64 位版本。...在模拟器中进行测试: 64 位 Android 模拟器内支持 32 位和 64 位版本的 Android 模拟器系统映像。

    66920

    Android中图片大小和屏幕密度的关系讲解

    Android手机适配是非常让人头疼的一件事,尤其是图片,android为了做到是适配提供了很多文件夹来存放不同大小的图片,比如:drawable-ldpi、drawable-mdpi、drawable-hdpi...由此我们采用与分辨率无关的度量单位来开发程序就能够解决这个问题。Android应用开发支持不同的度量单位。 1.相关概念 屏幕密度:指的就是单位英寸面积上的像素点数,与分辨率是两个不同的概念。...不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。 dp: dip是一样的 px: pixels(像素)....不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。...的字号最好使用 sp 做单位,而且查看TextView的源码可知Android默认使用sp作为字号单位。

    1.1K60

    提示为 64 位版本的 Android Studio 和 Android 模拟器做好准备

    在 64 位操作系统下使用 Android Studio 不仅能够提高 IDE 和 Android 模拟器的内存访问效率,而且有助于改善整体开发体验。...在弃用阶段,Android Studio 与 Android 模拟器仍可继续工作,但不会再提供任何新特性的更新。在此过渡时期,开发者仍可前往 Android Studio 官网下载产品。...具体的弃用和支持终止日期,请见下表: ?...如果您当前正在负责大型项目的开发工作,更多的内存意味着更好的开发体验。 64 位应用支持: C/C++ 源代码开发者可以同时为应用构建 32 位和 64 位版本。...在模拟器中进行测试: 64 位 Android 模拟器内支持 32 位和 64 位版本的 Android 模拟器系统映像。

    98420

    浅谈AndroidGPU过度绘制、GPU呈现模式分析及相关优化

    原色:没有过度绘制 蓝色:1 次过度绘制 绿色:2 次过度绘制 粉色:3 次过度绘制 红色:4 次及以上过度绘制 测试发现大多数手机app都存在过度绘制的问题,这也因为产品设计的时候没有这种布局嵌套的概念...-------------------------------------------------------------------- 此外,开发者选项中还有一个选项‘GPU呈现模式分析’,选择'在屏幕上显示为条形图...OpenGL ES是手持嵌入式设备的3DAPI,跨平台的、功能完善的2D和3D图形应用程序接口API,有一套固定渲染管线流程....DisplayList持有所有将要交给GPU绘制到屏幕上的数据信息。...格栅化 是 将图片等矢量资源,转化为一格格像素点的像素图,显示到屏幕上,过程图如下. ---------------------------------------------------------

    1.4K20

    绘制优化

    在 Android 手机的开发者选项中,有一个『调试 GPU 过度绘制』的选项,该选项开启之后,手机显示如下,显示出来的蓝色、绿色的色块就是过度绘制信息。...在官网的 Debug GPU Overdraw Walkthrough 说明中对过度重绘做了简单的介绍,其中屏幕上显示不同色块的具体含义如下所示: 每个颜色的说明如下: - 原色:没有过度绘制...- 蓝色:1 次过度绘制 - 绿色:2 次过度绘制 - 粉色:3 次过度绘制 - 红色:4 次及以上过度绘制 过度绘制的存在会导致界面显示时浪费不必要的资源去渲染看不见的背景,或者对某些像素区域多次绘制...应用界面中,应该尽可能地将过度绘制控制为 2 次(绿色)及其以下,原色和蓝色是最理想的。 粉色和红色应该尽可能避免,在实际项目中避免不了时,应该尽可能减少粉色和红色区域。...GPU负责栅格化,UI元素绘制显示在屏幕上 16ms 发出VSync信号触发UI渲染 大多数Android设备屏幕刷新频率为60Hz 优化工具 Systrace 关注Frames 正常:绿色圆点 丢帧

    89910

    【最新最全】为 iOS 和 Android 的真机和模拟器编译 Luajit 库

    因为官网的教程,在当前版本的 Xcode 和 NDK 环境中,已经不适用了。以前只是编译了适用于真机的 Luajit 库。...最近在尝试编译模拟器 Luajit 库,就顺便梳理了下 Luajit 库的编译经验,供以后查阅。网上的讨论也是有一些,但是相当一部分都已经过时。...DEVDIR/iPhoneSimulator.platform/Developer # xctoolchain 可以使用 xcode-select --install 命令安装. # xctoolchain 和模拟器中...另外,如果你已经在使用 Luajit 的字节码,请注意模拟器 Luajit 库,需要加载的是 32 位字节码。...其中 arm64-v8a 并没有使用,因为它会引起诡异的兼容适配问题。初步怀疑和不同厂商魔改 ROM 实现有关。

    2.5K00

    Android性能优化:过渡绘制解决方案

    颜色与过渡绘制: 原色:没有过度绘制 蓝色:1 次过度绘制 绿色:2 次过度绘制 粉色:3 次过度绘制 红色:4 次及以上过度绘制 在平时的开发中,如果出现粉色及以上的过渡绘制情况。...下面是华为自带天气APP的首页,我们可以看到文字部分以及图标部分都是绿色,说面已经是第三层过渡绘制了,其中背后天气图是一层,文字又是一层,正常来说应该只有两层,也就是文字和图标应该是蓝色。...典型的例子,抽屉布局,找了网易云音乐开刀: ? 注意观察左侧抽屉打开的时候,抽屉布局和背后布局重叠在一起了,此时整个屏幕一多半都变成了红色,过渡绘制严重。...ImageView的background和imageDrawable重叠 Android中,所有的view均可以设置background。...在开发中,很多时候需要显示图片,在图片加载出来之前通常是需要显示一张默认图片的,很多时候会使用ImageView的background属性来设置默认背景图,而imageDrawable来设置需要加载的图片

    2.3K10

    大屏幕和折叠屏: 让您的 Android 游戏登上更大的舞台

    这些年我们亲历了诸多移动硬件的演进,如 3D 显示器和高分辨率屏幕等,也因为这些演进,让我们在应用商店中看到越来越多新颖的游戏出现,让玩家们在更沉浸的画面和游戏体验中流连忘返。...如果能在更大的屏幕上体验的话,这些游戏也会拥有更好的视觉效果。这意味着开发者可以通过针对不同的外形和更大的显示设备优化游戏,来吸引正在快速增长的大量受众群体。...您可以使用 Android 和 Chrome OS 模拟器或 Firebase Test Lab 等工具来让测试过程变得更加自动化。...您也可以使用在 Android 设备和 Android Studio AVD 上运行的折叠屏模拟器应用,来测试不同窗口大小和像素密度时的运行状况: $ adb install FoldableEmulator.apk...hl=zh-CN#config 让游戏画面尺寸实现自适应,以在不同显示模式之间灵活切换,从而让用户在折叠和展开屏幕时都能体验到无缝的切换过程。

    1.3K20

    提示大屏幕和折叠屏: 让您的 Android 游戏登上更大的舞台

    这些年我们亲历了诸多移动硬件的演进,如 3D 显示器和高分辨率屏幕等,也因为这些演进,让我们在应用商店中看到越来越多新颖的游戏出现,让玩家们在更沉浸的画面和游戏体验中流连忘返。...如果能在更大的屏幕上体验的话,这些游戏也会拥有更好的视觉效果。这意味着开发者可以通过针对不同的外形和更大的显示设备优化游戏,来吸引正在快速增长的大量受众群体。...您可以使用 Android 和 Chrome OS 模拟器或 Firebase Test Lab 等工具来让测试过程变得更加自动化。...您也可以使用在 Android 设备和 Android Studio AVD 上运行的折叠屏模拟器应用,来测试不同窗口大小和像素密度时的运行状况: $ adb install FoldableEmulator.apk...了解 configChanges developer.android.google.cn/guide/topic… 让游戏画面尺寸实现自适应,以在不同显示模式之间灵活切换,从而让用户在折叠和展开屏幕时都能体验到无缝的切换过程

    1.5K30

    Android可穿戴设备世界之旅

    因此,在设计时,请在屏幕上留出足够的空间让您的拇指完成这项工作。不要以项目过于相邻的方式设计应用,始终为大手势而设计。 如果要在应用中显示的内容太多,请将它们拆分为多个页面(卡片)。...图 4:安装 HAXM 以提高仿真器性能 您可以使用“显示高级设置”按钮来编辑模拟器的配置,即内存、SD 卡等。...图7:Android Wear模拟器 将项目部署到 Wear Emulator 现在创建的磨损模拟器已准备好运行您的项目。按下工作室窗口顶部中间的绿色“运行”按钮。...要在此区域内显示,布局中的子视图将指定具有顶部、底部、左侧和右侧或全部组合的属性。...瞧,您的设备和磨损模拟器现已连接。您可以从磨损模拟器等控制设备的音乐播放器。 图 4:从设备向 wear 模拟器发送呼叫通知。

    12910
    领券