بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
OutOfMemoryError حین لود کردن آیکن اپلیکیشن ها /.
دوستان وقتی میخوام لیست همه ی اپ های نصب شده رو بیارم اوکیه ولی وقتی آیکن هاشون رو هم میخوام بیارم outOfMemoryError میده البته تو گوشی اینطوریه تو جنی موشن بدون مشکل اجرا میشه
چه راهی واسه این کار هست که کمتر مموری رو اشغال کنه ؟
0
0
آیکن هاشو رو کجا نشون میدی ؟ داخل لیست ویو ؟
(11 سال پیش)
0
0
آیکن هاشو رو کجا نشون میدی ؟ داخل لیست ویو ؟
(11 سال پیش)
0
0
آره تو لیست ویو (11 سال پیش)
0
0
خوب قاعدتا اگر لیست ویو شما دارای ویو هلدر باشه نباید مشکلی پیش بیاد عکس هارم که موقعی که میخوای ویو رو بسازی صدا میکنی پس نباید مشکلی داشته باشه (11 سال پیش)
0
0
خوب قاعدتا اگر لیست ویو شما دارای ویو هلدر باشه نباید مشکلی پیش بیاد عکس هارم که موقعی که میخوای ویو رو بسازی صدا میکنی پس نباید مشکلی داشته باشه (11 سال پیش)
0
0
: نبایدو بیخیال ؛ الان که داره تکلیف چیه ؟ :) (11 سال پیش)
0
0
شما چک کن ببین لیست ویوت این ویژگی ها رو داره یا جایی سوتی ندادی بعد بیا کسب تکلیف کن :| (11 سال پیش)
0
0
: ناراحت شدی ؟؟؟؟ دوست قشنگ تو متن سوال گفتم که تو جنی موشن بدون مشکل باز میشه مشکل فقط تو گوشیمه (11 سال پیش)
0
0
اهان ، ببخشید متوجه اون قضیه نشدم ، مدل گوشیتون چی هست ؟
رو گوشی دیگه ای هم تست کردین ؟ (11 سال پیش)
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
JSONObject
11 سال پیش
+1
0
: SP!R!T در واقع یه راهی میخوام واسه لود کردن آیکن ها با کوچکترین سایزشون یعنی ldpi
چون انگار سایز بزرگ عکسا باعث کرش میشه و لی تو جنی موشن چون رمم بالاتره مشکلی بوجود نمیاد اینم کد :
private void installedPack() {
PackageManager pm = (PackageManager) G.context.getPackageManager();
List<PackageInfo> installedPacks = pm.getInstalledPackages(PackageManager.GET_META_DATA);
G.apps.clear();
for (PackageInfo packageInfo: installedPacks) {
StructApps app = new StructApps();
app.icon = packageInfo.applicationInfo.loadIcon(pm);
ApplicationInfo applicationInfo;
try {
applicationInfo = pm.getApplicationInfo(packageInfo.packageName, 0);
}
catch (final NameNotFoundException e) {
applicationInfo = null;
}
app.appName = (String) (applicationInfo != null ? pm.getApplicationLabel(applicationInfo) : "(unknown)");
G.apps.add(app);
}
adapter.notifyDataSetChanged();
}
پاسخ به سوال
Spirit
11 سال پیش
+2
0
من با عکس بزرگ هم کرش نداشتم ، این متد اگه اندازه icon از یه سایزی بزرگتر بود کوچیکترش میکنه ، نمیدونم تاثیری در داره تو رفع خطا یا نه!
private Drawable getIcon(Drawable icon, Context context) {
if (icon.getIntrinsicHeight() <= 72 || icon.getIntrinsicWidth() <= 72 ) {
return icon;
}
Bitmap bitmap = ((BitmapDrawable) icon).getBitmap();
Drawable d = new BitmapDrawable(context.getResources(),
Bitmap.createScaledBitmap(bitmap, 72,72, true));
return d;
}
: آفرین SP!R!T درست شد منتها اکتیویتی با بیست و پنج تا سی ثانیه تاخیر باز میشه و اون عدد 72 اگه سایز لود شدنه من چه کمش میکنم چه زیادش زمان تاخیر انگار ربطی بهش نداره حتی وقتی 48 کردمش شد سی ثانیه و وقتی 96 کردمش شد 28 ثانیه و خود 72 هم با 25 ثانیه تاخیر ؛ ولی باز شد جای شکر داره دمت قیییییییییییژ (11 سال پیش)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .