- 强引用 Java中最基本、最常用的就是“强引用",如果存在着对某个对象的强引用,GC时就不会回收该对象。 软引用 “软引用”通过Java类java.lang.ref.SoftReference实现,一般情况下,GC是不会回收“软引用”引用的对象的。只有当系统内存不足时才会回收。“软引用”特别适合用来引用图片资源,仅当系统内存不足时才释放图片资源。 弱引用 “弱... 强引用 Java中最基本、最常用的就是“强引用",如果存在着对某个对象的强引用,GC时就不会回收该对象。 软引用 “软引用”通过Java类java.lang.ref.SoftReference实现,一般情况下,GC是不会回收“软引用”引用的对象的。只有当系统内存不足时才会回收。“软引用”特别适合用来引用图片资源,仅当系统内存不足时才释放图片资源。 弱引用 “弱...
- 1、显式Intent(explicit intent) 显式Intent明确指定了要启动的activity: Intent intent= new Intent(this, Target.class) 1 2、隐式Intent(implicit intent) 隐式Intent没有明确指定要启动的activity ,而是通过设置一些Intent Filter... 1、显式Intent(explicit intent) 显式Intent明确指定了要启动的activity: Intent intent= new Intent(this, Target.class) 1 2、隐式Intent(implicit intent) 隐式Intent没有明确指定要启动的activity ,而是通过设置一些Intent Filter...
- 将xml转换成对象的方法有很多种。今天我要走一条“曲线”来实现这个转换。 1.思路 将xml转换成json,再通过将json转换成java对象。 2.添加java-json.jar包 java-json.jar将此包放入项目中。这个包实现了xml到json字符串的转化,甚至对象到xml的转化。 3.使用方法 // xml中有“<![CDATA[ ]]&... 将xml转换成对象的方法有很多种。今天我要走一条“曲线”来实现这个转换。 1.思路 将xml转换成json,再通过将json转换成java对象。 2.添加java-json.jar包 java-json.jar将此包放入项目中。这个包实现了xml到json字符串的转化,甚至对象到xml的转化。 3.使用方法 // xml中有“<![CDATA[ ]]&...
- Android 的 SQLLite数据库 关系型数据库 SQLLite 每个应用程序都要使用数据,Android应用程序也不例外,Android使用开源的、与操作系统无关的SQL数据库—SQLite。SQLite第一个Alpha版本诞生于2000年5月,它是一款轻量级数据库,它的设计目标是嵌入式的,占用资源非常的低,只需要几百K的内存就够了。SQLite已经被多种软... Android 的 SQLLite数据库 关系型数据库 SQLLite 每个应用程序都要使用数据,Android应用程序也不例外,Android使用开源的、与操作系统无关的SQL数据库—SQLite。SQLite第一个Alpha版本诞生于2000年5月,它是一款轻量级数据库,它的设计目标是嵌入式的,占用资源非常的低,只需要几百K的内存就够了。SQLite已经被多种软...
- 解决方案 错误信息: All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes 当我们在android studio使用api或compile添加一些第三方的依赖库时,就有可能... 解决方案 错误信息: All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes 当我们在android studio使用api或compile添加一些第三方的依赖库时,就有可能...
- WebView请求需要网络权限,所以先在AndroidManifest.xml文件中申请网络权限: <uses-permission android:name="android.permission.INTERNET"/> 1 当WebView在进行网络请求时,突然报了net::ERR_CLEARTEXT_NOT_PERMITTED错误。经过了解,发现API 28(... WebView请求需要网络权限,所以先在AndroidManifest.xml文件中申请网络权限: <uses-permission android:name="android.permission.INTERNET"/> 1 当WebView在进行网络请求时,突然报了net::ERR_CLEARTEXT_NOT_PERMITTED错误。经过了解,发现API 28(...
- Android的虚拟机(VM)是依赖于自动内存管理方案。开发人员不需要亲自管理内存的分配与释放。这是Java编程语言相对于低层级编程语言(如C语言)的重要区别,低层级编程语言需要手动管理内存。 每一次应用程序需要分配内存,而堆没有足够空间来满足分配需求,GC(Garbage Collection)就会被启动。GC的工作就是遍历堆,枚举应用程序已分配的所有对象,并标记所... Android的虚拟机(VM)是依赖于自动内存管理方案。开发人员不需要亲自管理内存的分配与释放。这是Java编程语言相对于低层级编程语言(如C语言)的重要区别,低层级编程语言需要手动管理内存。 每一次应用程序需要分配内存,而堆没有足够空间来满足分配需求,GC(Garbage Collection)就会被启动。GC的工作就是遍历堆,枚举应用程序已分配的所有对象,并标记所...
- Android Studio 3.0+后的module依赖: dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.const... Android Studio 3.0+后的module依赖: dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.const...
- 需要更新适配器并调用notifyDataSetChanged。在Flutter中,如果setState()中更新widget列表,您会发现没有变化, 这是因为当setState被调用时,Flutter渲染引擎会遍历所有的widget以查看它们是否已经改变。 当遍历到你的ListView时,它会做一个==运算,以查看两个ListView是否相同,因为没有任何改变,因此没有... 需要更新适配器并调用notifyDataSetChanged。在Flutter中,如果setState()中更新widget列表,您会发现没有变化, 这是因为当setState被调用时,Flutter渲染引擎会遍历所有的widget以查看它们是否已经改变。 当遍历到你的ListView时,它会做一个==运算,以查看两个ListView是否相同,因为没有任何改变,因此没有...
- 在使用Git版本管理工具的项目里都会有一个隐藏文件叫 .gitgnore,它的作用是忽略指定的文件,这样Git就不会去跟踪这些文件的修改,它们也不会被提交到版本库。典型的android studio IDE的android项目的.gitgnore配置: # Built application files *.apk *.ap_ *.aab # Files for t... 在使用Git版本管理工具的项目里都会有一个隐藏文件叫 .gitgnore,它的作用是忽略指定的文件,这样Git就不会去跟踪这些文件的修改,它们也不会被提交到版本库。典型的android studio IDE的android项目的.gitgnore配置: # Built application files *.apk *.ap_ *.aab # Files for t...
- Android开发中,我们可以使用Android开发软件如:Eclipse、Android Studio自带的模拟器或者genymotion,进行测试,可是我们在调试中,你会发现,这些模拟器是不可以输入中文的,这时我们就可以设置一下Setting的Language选项,设置成简体中文,然后你发现还是不可以输入中文啊 噢噢噢,不用担心,很多Android模拟器... Android开发中,我们可以使用Android开发软件如:Eclipse、Android Studio自带的模拟器或者genymotion,进行测试,可是我们在调试中,你会发现,这些模拟器是不可以输入中文的,这时我们就可以设置一下Setting的Language选项,设置成简体中文,然后你发现还是不可以输入中文啊 噢噢噢,不用担心,很多Android模拟器...
- 因为ping要用到网络请求,所以要在AndroidManifest.xml加入网络权限: <uses-permission android:name="android.permission.INTERNET"/> 1 1、准备好ping命令 将IP或域名和一些参数组合成一条ping命令: private String spellPing(Stri... 因为ping要用到网络请求,所以要在AndroidManifest.xml加入网络权限: <uses-permission android:name="android.permission.INTERNET"/> 1 1、准备好ping命令 将IP或域名和一些参数组合成一条ping命令: private String spellPing(Stri...
- Flutter外部包网站:https://pub.dev/ Flutter使用pubspec文件管理应用程序的assets(资源,如图片、package等)。 1.引用外部包的方法 在pubspec.yaml,添加依赖项,如添加english_words包: dependencies: flutter: sdk: flutter english_words:... Flutter外部包网站:https://pub.dev/ Flutter使用pubspec文件管理应用程序的assets(资源,如图片、package等)。 1.引用外部包的方法 在pubspec.yaml,添加依赖项,如添加english_words包: dependencies: flutter: sdk: flutter english_words:...
- 概述 ProGuard是一个Java类文件压缩器、优化器、混淆器、预校验器: 压缩阶段会检测和移除未使用的类、字段、方法、属性。ProGuard以递归的方式检查并决定哪些类和类成员是被用到的,而其他没有用到的类和类成员就会被丢弃。优化阶段会分析并优化方法的字节码。ProGuard会进一步优化代码。其他优化包括不是入口点的类或方法可能会变成private、final、... 概述 ProGuard是一个Java类文件压缩器、优化器、混淆器、预校验器: 压缩阶段会检测和移除未使用的类、字段、方法、属性。ProGuard以递归的方式检查并决定哪些类和类成员是被用到的,而其他没有用到的类和类成员就会被丢弃。优化阶段会分析并优化方法的字节码。ProGuard会进一步优化代码。其他优化包括不是入口点的类或方法可能会变成private、final、...
- 当android app发生屏幕旋转、键盘可用性变化及用户启用多窗口模式时,正在运行的Activity会被重启,即先调用onDestroy(),再调用 onCreate()方法。 注意:屏幕方向、键盘可用性,以及当用户启用多窗口模式这些称为设备配置,它们一开始就被配置好的。 重启的原因是为了可以使用新的资源来匹配新的设备配置。比如由竖屏旋转为横屏时,可能要使用不同的... 当android app发生屏幕旋转、键盘可用性变化及用户启用多窗口模式时,正在运行的Activity会被重启,即先调用onDestroy(),再调用 onCreate()方法。 注意:屏幕方向、键盘可用性,以及当用户启用多窗口模式这些称为设备配置,它们一开始就被配置好的。 重启的原因是为了可以使用新的资源来匹配新的设备配置。比如由竖屏旋转为横屏时,可能要使用不同的...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签