我将2个2MB .jpg图像压缩到每个300kb左右,以匹配我使用相同代码的工作图像。但是,每当我尝试在我的应用程序中使用2个压缩图像时,只要我在设备(我的手机)上运行它就会崩溃,我在错误日志中得到这个:
FATAL EXCEPTION:主程序:apps.appname,PID:17528
java.lang.OutOfMemoryError
我已经将它缩小到仅仅是那些我从2 MB压缩到300kb的2张图像的错误。
我该怎么办?
答案 0 :(得分:0)
发现它,相当大。 2432 x 4320
"相当大"有点轻描淡写。因此,如果您尝试将它们全部装入,那么每个消耗大约40MB。你不太可能有堆空间。
此外,您不太可能需要大图像,因为我不知道任何具有大屏幕分辨率的Android设备。您可能希望获得该分辨率图像的唯一情况是,如果您将它们作为文件下载后,它们的目标是为它们设置某种缩放缩放UI,在这种情况下this library可以提供帮助。
否则,请将图像重新取样至较低分辨率。如果这些是资源,请务必将它们放在scurl <- "scholar.google.com/citations?user=xqefLxQAAAAJ&hl=en"
citid <- regmatches(scurl, gregexpr('(?<=user=)[[:alnum:]]+', scurl, perl=TRUE))
pub <- get_publications(citid, flush=TRUE)
## tolower does character conversion, and remove the trailing "..."
coauthors <- sub('[ ,.]+$', '', tolower(pub$author))
coauthors <- coauthors[nzchar(coauthors)] # only keep entries that aren't blank
## Add self-loops for single-author entries
adjlist <- strsplit(coauthors, '\\s*,\\s*')
lens <- lengths(adjlist)
adjlist[lens==1L] <- lapply(adjlist[lens==1L], rep, times=2) # repeat single author entries
中,以便Android不会尝试重新重新采样以应用密度转换。