教材学习内容总结图形和定制视图硬件加速Android APILevel14及其以上版本为目标的应用程序来说,硬件加速是默认可用的。可通过android:hardwareAccelerated="false"来关闭活动或应用的硬件加速。创建一个定制视图要创建一个定制视图,需要扩展android.view.View类或其一个子类,并且覆盖其onDraw方法。onDraw方法的签名为:protected
转载 2024-09-24 13:59:18
30阅读
在日常的Android开发中,我们必然遇到过OutOfMemoryError这样的崩溃,产生的原因无外乎两点,一是内存过小不够用,二是程序设计有误,导致不能释放内存,其中后者情况较多。在解决这个问题时,我们亦或多或少听到android:largeHeap,然而这个概念又是什么呢,它该如何使用,存在哪些问题呢。
原创 2022-11-10 21:42:51
172阅读
# Android:largeHeap——优化 Android 应用的内存管理 ![android-largeheap-header]( 在开发 Android 应用中,每个开发者都会面临内存管理的挑战。当应用需要处理大量的数据或进行复杂的操作时,内存管理会变得尤为重要。为了帮助开发者更好地管理内存,Android 提供了一个 `android:largeHeap` 属性,允许应用分配更大的堆
原创 2023-09-09 14:28:55
277阅读
# Android中的largeHeap属性 在Android应用开发中,我们经常会遇到内存不足的问题,尤其是在处理大量数据或者进行复杂计算的情况下。为了解决这个问题,Android提供了一个属性`android:largeHeap="true"`,允许我们申请更大的堆内存空间。本文将介绍largeHeap属性的作用和用法,并通过代码示例来说明。 ## 什么是largeHeap属性? And
原创 2023-08-25 05:21:55
2072阅读
# Android 9 LargeHeap:提升应用性能和内存管理 ![Android 9 LargeHeap]( ## 介绍 在Android开发中,内存管理是一项至关重要的任务。随着应用程序的功能和复杂性的增加,对内存的需求也会增加。Android系统提供了一些机制来优化内存管理,其中之一是通过使用`android:largeHeap`属性来增加应用程序的堆大小。 本文将深入探讨And
原创 2023-08-19 12:38:54
200阅读
# Android 应用申请 Large Heap 介绍 在 Android 开发中,应用的内存管理至关重要,尤其是当应用数据量大或者为了支持高清图片、视频等大资源时。为了满足这些需求,Android 提供了 `largeHeap` 申请的功能,使得开发者能够为应用申请更大的内存堆。 ## 什么是 Large Heap? 通常情况下,Android 应用的堆内存最大限制大约是 16MB,对于
原创 7月前
89阅读
Google最近发布了Android的下一个版本,Android N的开发者预览版。此次预览版,可以让我们开发者在正式发布之前就测试代码,包括一些新的API,甚至于也可以提前反馈那些对于我们来说有些困扰的变化。这次的发布版本只酝酿了几个月,但是其中一些令人惊奇的功能已经看起来很棒了。相信你也一样对此感到非常兴奋! 接下来,列出一些我们迫不及待想要上手的新变化。 1. 支持Java 8语言特性 通
转载 9月前
6阅读
# Android LargeHeap 后只有 8M 的问题解析 在 Android 应用开发中,开发者有时会遇到需要更大内存的需求。这时,可以通过在应用的 `AndroidManifest.xml` 文件中设置 `android:largeHeap="true"` 来请求更大的内存。然而,有用户在请求了大内存后却发现,应用的可用内存仍然限制在 8MB,这让人困惑。本文将对此进行解析,并附以示例
原创 7月前
141阅读
AndroidManifest.xml文件<applicatiion>中可以设置 android:largeHeap="true" 我使用的测试设备为Nexus5  系统为5.0 安卓设备对应用内存的限制,一般在/system/build.prop文件中可以查看到 dalvik.vm.heapsize=512m(最大内存限制) dalvik.vm.heapgrowthlimi
原创 2023-03-16 21:58:31
426阅读
小内存机器使用“微信”时,看视频经常崩溃(out of memory) ,小内存机器有时候明明内存还很多,却还是抛出“内存不够”,应该就是每个APP能用“堆大小”的限制。 如上图,Android项目的Application节点里面有个属性叫做 android:largeHeap="true" 。此属
原创 2021-07-20 14:12:59
300阅读
   初次发帖,对Android了解和掌握还不是很深,敬请各位指正交流,一起进步。    Android为了实现进程间通信,提供了AIDL机制。AIDL全称是Android Interface Definition Language,即进程间接口描述语言。通过AIDL机制,应用程序可以通过描述的接口访问远程服务中的方法。   下
转载 2024-02-09 10:25:14
32阅读
AIDL全名Android Interface Definition Language,是一种接口定义语言,也是Android系统的一种跨进程通信机制。从AIDL的名字就可以看出来,AIDL做的就是在服务提供进程和服务使用进程之间的协商好的接口,双方通过该接口进行通信。本文将以一个例子来讲述AIDL的使用方式和流程,在下一篇文章中我将从代码层面对AIDL进行分析。AIDL实例文章中所涉及的例子来源
Android基本原理快速浏览:1 Android应用是由一个或多个的应用组件(如activities, services, content providers和broadcast receivers)组成。2 每个组件在应用中各自扮演不同的角色,并且可以被独立的激活(甚至是从其他的应用中去激活它)。3 Manifest file在应用中必须声明应
转载 2023-10-30 18:37:25
89阅读
        WebSocket 是一种双向通信协议,在建立连接后,WebSocket服务器和 Browser/Client Agent 都能主动的向对方发送或接收数据,就像 Socket一样。它类似TCP长连接,但是WebSocket使用的是ws和wss两种通信协议,所以这是完全不同于HTTP的一种网络协议,尽管它
转载 2023-09-28 11:11:19
132阅读
Handler在android项目中经常用到,之前转载过一篇关于Handler的文章,不过个人觉得比较概念性,本篇主要是从源码上解析Handler工作的原理机制。下面是我从网上看到的一个Handler工作流程图,如下:首先这个是Handler的默认构造方法,this进入的是下面的方法在Handler的构造方法中,首先通过Looper.myLooper()方法获取当前线程的Looper对象,如果Lo
最近重温了一遍AIDL,以前只是停留在会用的地步,对于其实现机制不太明白,这次又进行了略微深入的了解,但仍局限在应用层,至于其底层Binder的实现机制并不明白。以后用到在进行更深一步的学习。下面进入正文。什么是AIDLAIDL是Android Interface Definition Language的简写,即Android接口定义语言。我们知道Android系统为每一个应用开启一个独立的虚拟机
Android系统中,不同的应用程序是不能直接读写对方的数据文件的,如果它们想共享数据的话,只能通过Content Provider组件来实现。那么,Content Provider组件又是如何突破应用程序边界权限控制来实现在不同的应用程序之间共享数据的呢?在前面的文章中,我们已经简要介绍过它是通过Binder进程间通信机制以及匿名共享内存机制来实现的,在本文中,我们将详细分析它的数据共享原理
转载 2月前
404阅读
引言本文主要罗列Android开发面试中遇到的一些Android技术面试题,仅供大家参考,如有写的不对的地方,也欢迎大家指正,话不多说,我们开始吧。1. 什么是ANR 如何避免它?ANR的定义:首先,ANR(Application Not responding)是指应用程序未响应,Android系统对于一些事件需要在一定的时间范围内完成,如果超过预定时间能未能得到有效响应或者响应时间过长,都会造成
一、概述NestedScrollingParent 和 NestedScrollingChild 两个类是Android在support.v4中提供的,这是一套全新的嵌套滑动机制,用来实现一些传统的自定义ViewGroup事件分发处理所不能完成的效果。按照传统事件分发角度来看,事件是由父View发起的,如果父View需要自己做滑动效果就要拦截掉事件并通过自己的onTouchEvent方法进行消耗,
Butter KnifeButter Knife是基于安卓的视图依赖注入框架,其原理是使用编译前注解处理生成相关辅助代码,在运行时进行辅助类的加载从而 调用相关方法完成视图的注入。由于其是采用在源码编译时进行注解的处理,而非运行时再处理,所以对应用的性能影响不大。使用 它可以使你的代码更为整洁、优雅,同时在很大程度上加快你的编程速率,把你从繁琐的findViewById中解放出来。下载使用An
转载 2023-11-28 23:26:59
16阅读
  • 1
  • 2
  • 3
  • 4
  • 5