Android
文章平均质量分 83
Android
zhangphil
zhangphil@live.com
展开
-
Android Studio编译报错:Error loading build artifacts from: apk_ide_redirect_filedebug edirect.txt
文章浏览阅读750次。文章浏览阅读8.9k次。Android Studio编译报错:Error loading build artifacts from: xxx\xxx\app\build\intermediates\apk_ide_redirect_file\debug\redirect.txt。Android Studio报错:Please configure Android SDK_android studio 2020 please configure android sdk-CSDN博客。原创 2024-09-10 23:06:15 · 890 阅读 · 0 评论 -
Android adb shell命令查看当前手机屏幕可见界面归属的应用和模块
Android adb shell dump当前手机设备的所有activity_dump当前activity_zhangphil的博客-CSDN博客。adb shell命令dump Android app的activity栈_adb dump activity-CSDN博客。adb命令:adb shell dumpsys activity activites_dump当前activity。android adb命令获取处于当前屏幕的Activity_adb获取当前页面activity-CSDN博客。原创 2024-09-06 23:00:59 · 370 阅读 · 0 评论 -
Android Abort message: ‘Error, cannot access an invalid/free‘d bitmap here!‘
解决方案,避免在用glide加载设置图后,在其他地方又从view里面取Bitmap,或者,取Bitmap和使用Bitmap,保护判断拦截起来。在某些Glide加载场景中,如果Glide把Bitmap加载放入到view后,又去从view里面取Bitmap,会抛上述NE错误。原创 2024-08-27 23:12:23 · 429 阅读 · 0 评论 -
Android adb shell查看手机user,user_root,user_debug版本
Android adb shell dump当前手机设备的所有activity_dump当前activity_zhangphil的博客-CSDN博客。Android adb shell dump当前手机设备的所有activity_dump当前activity_zhangphil的博客-CSDN博客。adb shell top -m 10 -s 1 -d 1 -o %CPU,%MEM,TIME+,PID,COMMAND,CMDLINE_adb shell top -m 10 -s cpu-CSDN博客。原创 2024-08-26 23:08:46 · 643 阅读 · 0 评论 -
java.lang.NullPointerException: Attempt to invoke virtual method ‘void android.view.View.dispatchCan
文章浏览阅读5.8k次。Android传递Bitmap的几种简单方式一,通过Intent的Bundle。比如有两个activity,A,B,从A进入B。Bundle b_android获取bitmap并传递。Android传递Bitmap的两种简单方式及其缺陷_android获取bitmap并传递-CSDN博客。解决方案,启动startActivity放入UI主线程。原创 2024-08-24 23:06:41 · 437 阅读 · 0 评论 -
Android Studio修改默认.m2与Gradle user home缓存位置
当android studio新建一个项目时候,默认的.gradle路径均认为是在c盘的用户目录下,时间久了,c盘容量紧张。后续新建android studio项目的gradle加载文件会自动放在D:/program/android.gradle下。Android studio默认把.m2缓存放在C盘,时间久了,C盘空间不够,可配置Android studio.m2缓存路径在其他盘。android studio配置默认.gradle路径_android studio gradle在哪-CSDN博客。原创 2024-08-20 23:20:42 · 1364 阅读 · 0 评论 -
Android adb shell ps进程查找以及kill
Android adb shell dump当前手机设备的所有activity_dump当前activity_zhangphil的博客-CSDN博客。Android adb shell dump当前手机设备的所有activity_dump当前activity_zhangphil的博客-CSDN博客。adb shell top -m 10 -s 1 -d 1 -o %CPU,%MEM,TIME+,PID,COMMAND,CMDLINE_adb shell top -m 10 -s cpu-CSDN博客。原创 2024-07-26 23:01:28 · 580 阅读 · 0 评论 -
Android native exception:Abort message: FORTIFY: pthread_mutex_lock called on a destroyed mutex
当Android target sdk版本大于等于28时候,就会抛NE,而不像之前版本一样返回EBUSY标记,低于28不会触发。原创 2024-07-23 23:09:15 · 337 阅读 · 0 评论 -
Android ContentResolver.loadThumbnail转Kotlin
【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。从很小的宽高开始,不断迭代增加setRectToRect的目标RectF的宽高,每次迭代加上一定时延,实现Matrix基础上的动画。原创 2024-07-22 23:16:58 · 1089 阅读 · 0 评论 -
Android Glide DiskCacheStrategy.NONE DataFetcher fast loadThumbnail Media, Kotlin(六)
从很小的宽高开始,不断迭代增加setRectToRect的目标RectF的宽高,每次迭代加上一定时延,实现Matrix基础上的动画。【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。原创 2024-07-17 23:02:42 · 697 阅读 · 0 评论 -
Android ImageDecoder把瘦高/扁平大图相当于fitCenter模式decode成目标小尺寸Bitmap,Kotlin
Android拼接合并图片生成长图代码实现合并两张图片,以第一张图片的宽度为标准,如果被合并的第二张图片宽度和第一张不同,那么就以第一张图片的宽度为准线,对第二张图片进行缩放。Android拼接合并图片生成长图代码实现合并两张图片,以第一张图片的宽度为标准,如果被合并的第二张图片宽度和第一张不同,那么就以第一张图片的宽度为准线,对第二张图片进行缩放。基础上,把剪切的区域从矩形Rect变为圆形的Path,当手指在上面的ImageView移动时候,下面同等大小对应的坐标区域显示“剪切”出来的圆形图。原创 2024-07-14 23:02:23 · 509 阅读 · 0 评论 -
Android BitmapFactory.decodeStream fast decode Bitmap,Kotlin
【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。Android设置头像,手机拍照或从本地相册选取图片作为头像_android 头像拍照_zhangphil的博客-CSDN博客。原创 2024-07-07 23:11:41 · 940 阅读 · 0 评论 -
Android高清大图BitmapRegionDecoder解码decodeRegion裁剪区域Bitmap,Kotlin
从很小的宽高开始,不断迭代增加setRectToRect的目标RectF的宽高,每次迭代加上一定时延,实现Matrix基础上的动画。【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。原创 2024-07-05 23:08:03 · 1095 阅读 · 0 评论 -
Android adb logcat日志过滤输出
本文介绍了如何在新版AndroidStudio中使用level过滤器查看日志,管理.gradle文件路径,利用内置手机投屏功能以及解决SonarLint卡死问题,以及关于import代码报错的解决方案。Android Studio level过滤查看各个等级的日志_android studio 过滤日志-CSDN博客。logcat grep | "你的标签或tag"过滤输出日志级别只为Error的日志。输出所有Android设备上的日志。原创 2024-07-04 23:02:03 · 834 阅读 · 0 评论 -
Android Glide DiskCacheStrategy.NONE DataFetcher fast loadThumbnail Media, Kotlin(五)
从很小的宽高开始,不断迭代增加setRectToRect的目标RectF的宽高,每次迭代加上一定时延,实现Matrix基础上的动画。【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。原创 2024-07-03 23:04:36 · 783 阅读 · 0 评论 -
Android Glide DiskCacheStrategy.NONE DataFetcher fast loadThumbnail Video and Image, Kotlin(四)
从很小的宽高开始,不断迭代增加setRectToRect的目标RectF的宽高,每次迭代加上一定时延,实现Matrix基础上的动画。【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。原创 2024-07-01 23:10:00 · 702 阅读 · 0 评论 -
Android loadThumbnail ThumbnailUtils.createVideoThumbnail MediaMetadataRetriever time cost, Kotlin
Android设置头像,手机拍照或从本地相册选取图片作为头像_android 头像拍照_zhangphil的博客-CSDN博客。【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。原创 2024-06-30 23:11:43 · 769 阅读 · 0 评论 -
Android Glide DiskCacheStrategy.NONE DataFetcher fast loadThumbnail Video, Kotlin(三)
从很小的宽高开始,不断迭代增加setRectToRect的目标RectF的宽高,每次迭代加上一定时延,实现Matrix基础上的动画。【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。原创 2024-06-28 23:25:39 · 970 阅读 · 0 评论 -
Android loadThumbnail ThumbnailUtils.createImageThumbnail BitmapFactory.decodeFile time cost, Kotlin
从很小的宽高开始,不断迭代增加setRectToRect的目标RectF的宽高,每次迭代加上一定时延,实现Matrix基础上的动画。【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。原创 2024-06-27 23:10:21 · 826 阅读 · 0 评论 -
Android Glide DiskCacheStrategy.NONE DataFetcher loadThumbnail, Kotlin(二)
从很小的宽高开始,不断迭代增加setRectToRect的目标RectF的宽高,每次迭代加上一定时延,实现Matrix基础上的动画。【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。原创 2024-06-24 23:02:47 · 779 阅读 · 0 评论 -
Android Glide DiskCacheStrategy.NONE DataFetcher loadThumbnail faster decode,Kotlin
从很小的宽高开始,不断迭代增加setRectToRect的目标RectF的宽高,每次迭代加上一定时延,实现Matrix基础上的动画。【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。原创 2024-06-22 23:01:17 · 942 阅读 · 0 评论 -
Android Glide, first start based on loadThumbnail, Kotlin(二)
从很小的宽高开始,不断迭代增加setRectToRect的目标RectF的宽高,每次迭代加上一定时延,实现Matrix基础上的动画。【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。原创 2024-06-19 23:18:31 · 1164 阅读 · 0 评论 -
Android矩阵Matrix setRectToRect实现标准scaleType中心缩放centerCrop,Kotlin
Android拼接合并图片生成长图代码实现合并两张图片,以第一张图片的宽度为标准,如果被合并的第二张图片宽度和第一张不同,那么就以第一张图片的宽度为准线,对第二张图片进行缩放。Android拼接合并图片生成长图代码实现合并两张图片,以第一张图片的宽度为标准,如果被合并的第二张图片宽度和第一张不同,那么就以第一张图片的宽度为准线,对第二张图片进行缩放。基础上,把剪切的区域从矩形Rect变为圆形的Path,当手指在上面的ImageView移动时候,下面同等大小对应的坐标区域显示“剪切”出来的圆形图。原创 2024-06-18 23:37:22 · 805 阅读 · 0 评论 -
Android Glide, first start based on loadThumbnail, Kotlin(一)
【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。Android 13手机图片存储File路径转Uri,Java_android file 转uri-CSDN博客。文章浏览阅读690次。原创 2024-06-17 23:02:04 · 1178 阅读 · 0 评论 -
Android Glide CustomTarget与PreloadTarget,Kotlin
【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。现在结合他人的代码加以修改,给出一个以原始图形中心为原点,修剪图片为头像的工具类,此类可以直接在布局文件中加载使用,比。容易丢失之前加载的内容。原创 2024-06-14 23:18:48 · 456 阅读 · 0 评论 -
Android缩略图ThumbnailUtils.createImageThumbnail耗时约为contentResolver.loadThumbnail的2-10倍,Kotlin
android根据图片资源的drawable id转化为Uri,java_android drawable 转uri-CSDN博客。Android 13手机图片存储File路径转Uri,Java_android file 转uri-CSDN博客。文章浏览阅读690次。Android Uri转File path路径,Kotlin_android uri 转 file-CSDN博客。Android 13手机图片存储File路径转Uri,Java_android file 转uri-CSDN博客。原创 2024-06-13 23:00:29 · 964 阅读 · 0 评论 -
Android Glide loading Bitmap from RESOURCE_DISK_CACHE slow,cost time≈2 seconds+
【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。现在结合他人的代码加以修改,给出一个以原始图形中心为原点,修剪图片为头像的工具类,此类可以直接在布局文件中加载使用,比。文章浏览阅读670次。原创 2024-06-12 23:07:17 · 1248 阅读 · 0 评论 -
Android Glide a simple way of load quickly when the number of pictures is large,Kotlin(3)
kotlin用object实现单例模式,companion object与java静态_zhangphil的博客-CSDN博客。【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。原创 2024-06-11 22:58:32 · 768 阅读 · 0 评论 -
Android MediaMetadataRetriever获取视频宽高,Java
文章浏览阅读914次。【Android设置头像,手机拍照或从本地相册选取图片作为头像】像微信、QQ、微博等社交类的APP,通常都有设置头像的功能,设置头像通常有两种方式:1,让用户通过选择本地相册之类的图片库中已有的图像,裁剪后作为头像。文章浏览阅读124次。【Android设置头像,手机拍照或从本地相册选取图片作为头像】像微信、QQ、微博等社交类的APP,通常都有设置头像的功能,设置头像通常有两种方式:1,让用户通过选择本地相册之类的图片库中已有的图像,裁剪后作为头像。原创 2024-06-10 23:39:00 · 880 阅读 · 0 评论 -
Android Glide a simple way of load quickly when the number of pictures is large,Kotlin(2)
【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。《Android图片加载与缓存开源框架:Android Glide》Android Glide是一个开源的图片加载和缓存处理的第三方框架。原创 2024-06-07 23:27:01 · 671 阅读 · 0 评论 -
Android Uri转File path路径,Kotlin
/ 以 file:// 开头的 if (ContentResolver.SCHEME_FILE.equals(uri.getScheme())) { ..._android content 转 file。android根据图片资源的drawable id转化为Uri,java_android drawable 转uri-CSDN博客。Android 13手机图片存储File路径转Uri,Java_android file 转uri-CSDN博客。原创 2024-06-06 23:14:16 · 1250 阅读 · 0 评论 -
Android Glide a simple way of load quickly when the number of pictures is large,Kotlin(1)
【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。《Android图片加载与缓存开源框架:Android Glide》Android Glide是一个开源的图片加载和缓存处理的第三方框架。原创 2024-06-05 23:09:45 · 621 阅读 · 0 评论 -
Android关闭硬件加速对PorterDuffXfermode的影响
CPU返回后,会直接将GraphicBuffer提交给SurfaceFlinger,告诉SurfaceFlinger进行合成,但是这个时候GPU可能并未完成之前的图像渲染,这时候就牵扯到一个同步,Android中,用的是Fence机制,SurfaceFlinger合成前会查询Fence,如果GPU渲染没有结束,则等待GPU渲染结束,GPU结束后,会通知SurfaceFlinger进行合成,SF合成后,提交显示,最终完成图像的渲染显示。跑的版本minSdk=33。原创 2024-06-02 23:01:56 · 1231 阅读 · 0 评论 -
CPU/GPU/FPSGO,负载调试/设置命令开关
通常kswapd0占用大核,而且是满频在跑,耗电、温升,如果此时有前台应用主线程跑到与kswapd0相同的核上,很大可能会出现 cpu 竞争,导致调度不到而丢帧卡顿。系统中有些内存虽然已被使用但是可以回收的,比如cache/buffer,有一部分可以回收,所以MemFree不能代表全部可用的内存,这部分可回收的内存加上MemFree才是系统可用的内存,即:MemAvailable ≈ MemFree + Buffers + Cached,是一个估计值。原创 2024-05-31 23:42:06 · 1094 阅读 · 0 评论 -
Android VSYNC双Buffer与三Buffer渲染线程RenderThread(5)
t 时长,20s,20秒的trace文件。CPU返回后,会直接将GraphicBuffer提交给SurfaceFlinger,告诉SurfaceFlinger进行合成,但是这个时候GPU可能并未完成之前的图像渲染,这时候就牵扯到一个同步,Android中,用的是Fence机制,SurfaceFlinger合成前会查询Fence,如果GPU渲染没有结束,则等待GPU渲染结束,GPU结束后,会通知SurfaceFlinger进行合成,SF合成后,提交显示,最终完成图像的渲染显示。就是 Buffer。原创 2024-05-30 23:03:08 · 1327 阅读 · 0 评论 -
Android简单把高大于宽或宽大于高的图从中心截成正方形,Kotlin
Android BitmapFactory.decodeResource读取原始图片装载成原始宽高Bitmap,Kotlin_bitmapfactory解码宽高-CSDN博客。Android矩阵setRectToRect裁剪Bitmap原图Matrix放大,mapRect标记中心区域,Kotlin-CSDN博客。实现的是把原图中心区域的一片小图挖取出来放大放到下面的ImageView里面,现在不再固定中心位置,而是以手指在上图的触点位置为中心位置,挖取一片区域图放大,然后放到下面的ImageView里面。原创 2024-05-27 23:22:20 · 805 阅读 · 0 评论 -
Android RecyclerView GridLayoutManager,Glide load Photo,classification by date tag, Kotlin
【代码】Android Paging 3,kotlin(1)在实际的开发中,虽然Glide解决了快速加载图片的问题,但还有一个问题悬而未决:比如用户的头像,往往用户的头像是从服务器端读出的一个普通矩形图片,但是现在的设计一般要求在APP端的用户头像显示成圆形头像,那么此时虽然Glide可以加载,但加载出来的是一个矩形,如果要Glide_android 毛玻璃圆角。现在结合他人的代码加以修改,给出一个以原始图形中心为原点,修剪图片为头像的工具类,此类可以直接在布局文件中加载使用,比。文章浏览阅读670次。原创 2024-05-26 23:05:51 · 393 阅读 · 0 评论 -
Android卡顿丢帧低内存与adb shell内存状态
通常kswapd0占用大核,而且是满频在跑,耗电、温升,如果此时有前台应用主线程跑到与kswapd0相同的核上,很大可能会出现 cpu 竞争,导致调度不到而丢帧卡顿。系统中有些内存虽然已被使用但是可以回收的,比如cache/buffer,有一部分可以回收,所以MemFree不能代表全部可用的内存,这部分可回收的内存加上MemFree才是系统可用的内存,即:MemAvailable ≈ MemFree + Buffers + Cached,是一个估计值。表示系统尚未使用的内存。MemFree:空闲内存数。原创 2024-05-25 23:25:30 · 513 阅读 · 0 评论 -
Android日志:Background concurrent mark compact GC freed xxx(xxMB) AllocSpace objects, 0(0B) LOS object
android8.0后,Bitmap从Java层转移到native层,此举虽然缓解了JVM的内存压力,也提升了图形的加载速度,但不恰当的Bitmap分配/释放逻辑,将导致内存问题深藏到native层,更加隐蔽不易排查定位。Android Activity / Fragment内存泄露引论Android发生OOM(OutOfMemoryError)问题的重要因素是编程设计不佳的代码出现内存泄露(Leak)造成Android分配的内存紧张。原创 2024-05-24 23:24:10 · 698 阅读 · 0 评论 -
Android抛错:View W XXXView not displayed because it is too large to fit into a software layer (or draw
CPU返回后,会直接将GraphicBuffer提交给SurfaceFlinger,告诉SurfaceFlinger进行合成,但是这个时候GPU可能并未完成之前的图像渲染,这时候就牵扯到一个同步,Android中,用的是Fence机制,SurfaceFlinger合成前会查询Fence,如果GPU渲染没有结束,则等待GPU渲染结束,GPU结束后,会通知SurfaceFlinger进行合成,SF合成后,提交显示,最终完成图像的渲染显示。原创 2024-05-21 23:30:16 · 1001 阅读 · 0 评论