unity3d 获取使用内存大小 android and ios

获取的是应用在移动设备上面的实时允许是的进程使用内存大小和你直接在移动设备上查看进程的内存使用一模一样,绝对精确,废话不说上代码,你懂的

C#

//内存大小
    public static int GetUseMemory()
    {
        int memory = -1;
#if UNITY_ANDROID
        try
        {
            Debug.Log("GetUseMemory******************************内存使用情况");
            var unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            var currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
            var unityPluginLoader = new AndroidJavaClass("包");
            float tempMemory = unityPluginLoader.CallStatic<float>("GetMemory", currentActivity);
            memory = (int)tempMemory;
        }
        catch (System.Exception e)
        {
            Debug.Log("抛异常了************************GetMemory: " + e.Message);
        }
#elif UNITY_IOS
        memory = (int)_IOS_GetTaskUsedMemeory();
#endif
        return memory;
    }

 

android

public static float GetMemory(Activity currentActivity)
    {
        float memory = -1;
        try
        {

            int pid = android.os.Process.myPid();
            ActivityManager mActivityManager = (ActivityManager)currentActivity
                    .getSystemService(Context.ACTIVITY_SERVICE);
            Debug.MemoryInfo[] memoryInfoArray = mActivityManager.getProcessMemoryInfo(new int[] { pid });
            memory = (float)memoryInfoArray[0].getTotalPrivateDirty() / 1024;
        }
        catch (Exception e)
        {
            if (Utile.isDebug())
                Utile.LogError(e.toString());
        }
        return memory;
    }

ios

long _IOS_GetTaskUsedMemeory()
    {
        task_basic_info_data_t taskInfo;
        mach_msg_type_number_t infoCount = TASK_BASIC_INFO_COUNT;
        kern_return_t kernReturn = task_info(mach_task_self(),
                                             TASK_BASIC_INFO,
                                             (task_info_t) & taskInfo,
                                             &infoCount);
        if (kernReturn == KERN_SUCCESS)
        {
            long usedMemory = taskInfo.resident_size / 1024.0 / 1024.0;
            return usedMemory;
        }
        return 0;
    }

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
3D WebView是一种可在AndroidiOS网页浏览器中使用的功能,它允许开发人员在应用程序中嵌入具有3D功能的网页内容。 传统的网页浏览器通常只能显示2D平面网页,无法支持更复杂的3D交互和图形效果。然而,随着移动设备性能的提升和3D技术的发展,用户对于具有更好体验的应用程序的需求也在不断增加。因此,3D WebView应运而生。 通过3D WebView,开发人员可以将3D内容嵌入到AndroidiOS应用程序中,与传统的网页浏览器相比,这为用户提供了更加真实和沉浸式的体验。无论是展示立体的建筑模型、展览会场景还是进行虚拟实境的体验,都可以通过3D WebView实现。 3D WebView不仅支持基本的3D渲染,还支持与网页上的其他元素进行交互,比如按钮点击或数据输入。这为开发人员提供了更多创造性的空间,在应用程序中实现更多功能,为用户提供更加全面的体验。 除此之外,3D WebView还支持诸如音频播放、视频回放和动画效果等多媒体功能,进一步提升用户的体验品质。它还允许开发人员通过JavaScript等编程语言与网页内容进行交互,实现更加个性化的应用程序。 总之,3D WebView为AndroidiOS网页浏览器带来了更多可能性,通过将3D内容嵌入应用程序中,提供了更加真实和沉浸式的用户体验。开发人员可以通过3D WebView实现更多创新功能,为用户带来更加丰富多样的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值