【问题标题】:Lots of memory allocated with an only framelayout使用唯一的框架布局分配的大量内存
【发布时间】:2017-09-22 04:06:17
【问题描述】:

当我打开此活动时,分配的内存从 11MB 变为近 50MB..

在这个活动中,我只有一个带有图像的框架布局。我使用 onTouchEvent 移动点图像。

谁能告诉我为什么我要使用这么多内存?即使当我按下返回按钮离开活动时,分配的内存仍然是 50MB

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/fl"
    tools:context="it.uniroma3.sensorlog">

<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:src="@mipmap/mappa"
    android:id="@+id/map"/>

<ImageView
    android:layout_width="10dp"
    android:layout_height="10dp"
    android:src="@android:drawable/ic_notification_overlay"
    android:id="@+id/dot"
    />

</FrameLayout>

【问题讨论】:

    标签: java android performance memory-management


    【解决方案1】:

    关键是:我们不知道。

    问题是:您的应用程序以某种方式消耗了此内存。只有 您 能够运行和配置文件。

    因此,这里的基本答案是:学习如何使用相应的工具;自己去弄清楚。

    好的起点应该是here,或关于该主题的其他现有question。

    鉴于您的评论;另一个答案:第一个直接的实验可能是:选择非常小的一组小图像;看看这是否有所作为。如果是这样;你知道去哪里搜索。

    【讨论】:

    • 我知道,但它是一个非常简单的应用程序.. 两个活动:1)在第一个中只有一个文本视图 2)在第二个中只有这两个图像视图..地图视图是全屏,第二个只是一个点图像
    • 为什么会有反对票?是的,我们无法通过查看一个 xml 文件来知道为什么您的应用程序会消耗大量内存。
    【解决方案2】:

    我遇到了同样的问题,问题很可能是您的图像分辨率,请尝试降低它。

    【讨论】:

      猜你喜欢
      • 2020-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-12
      相关资源
      最近更新 更多