小编and*_*Tag的帖子

Android:java.lang.OutOfMemoryError:无法分配带有2097152个空闲字节的23970828字节分配和2MB直到OOM

我想在已存储的SD卡中显示ImageView中Bitmap图像.运行后我的应用程序崩溃并导致OutOfMemoryError错误:

(java.lang.OutOfMemoryError:无法分配带有2097152个空闲字节的23970828字节分配和2MB直到OOM)

我不知道或为什么它的内存不足.我认为我的图像尺寸非常大,所以我试图改变它.

Iterator<String> it = imageArray.iterator();
while (it.hasNext()) {
  Object element = it.next();
  String objElement = element.toString();
  Log.e("objElement ", " = " + objElement);
  final ImageView imageView = new ImageView (getContext());
  final ProgressBar pBar = new ProgressBar(getContext(), null, 
                                           android.R.attr.progressBarStyleSmall);
  imageView.setTag(it);
  pBar.setTag(it);

  imageView.setImageResource(R.drawable.img_placeholder);
  pBar.setVisibility(View.VISIBLE);

  if (objElement.endsWith(mp3_Pattern)) {
     Log.e("Mp3 ", " ends with ");
     pBar.setVisibility(View.GONE);
     imageView.setImageResource(R.drawable.audio_control);
  }
  if (objElement.endsWith(png_Pattern)) {
     Bitmap bitmap = BitmapFactory.decodeFile(objElement);
     int size = Math.min(bitmap.getWidth(), bitmap.getHeight());
     int x = (bitmap.getWidth() - size) …
Run Code Online (Sandbox Code Playgroud)

android android-bitmap

317
推荐指数
14
解决办法
35万
查看次数

java.lang.SecurityException:Permission Denial:在Android中读取com.android.providers.media.MediaProvider同时从图库中获取图片

我正在尝试从图库中选择图像,但是我的应用程序除了"出错了"消息之外.我以为我正确设置了android WRITE_EXTERNAL_STORAGE和READ_EXTERNAL_STORAGE权限,但我一直收到错误我应该怎么做让它工作?

这是我的Log cat错误

06-07 12:07:27.567    1692-1711/? E/DatabaseUtils? Writing exception to parcel
    java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media/359 from pid=2818, uid=10057 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
            at android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:605)
            at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:480)
            at android.content.ContentProvider$Transport.query(ContentProvider.java:211)
            at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)
            at android.os.Binder.execTransact(Binder.java:453)
Run Code Online (Sandbox Code Playgroud)

这是我的活动代码

public class MainActivity extends Activity {
    private static int RESULT_LOAD_IMG = 1;
    String imgDecodableString;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void loadImagefromGallery(View view) {
        // Create intent to Open Image applications like Gallery, Google Photos
        Intent galleryIntent = new …
Run Code Online (Sandbox Code Playgroud)

android

16
推荐指数
2
解决办法
4万
查看次数

Android:SocketTimeoutException:30000ms后无法连接到/103.24.4.60(端口80)

我想从Http url下载图像并在加载后保存到SD卡并显示到图像视图中.我试过从android-hive的Image-loader教程使用我的http url加载图像但是运行后的图像无法加载和显示.应用程序没有崩溃,但java.net.SocketTimeoutException: failed to connect to /103.24.4.60 (port 80) after 30000msImageLoader类中获得错误异常

这是我的日志信息

09-30 02:32:15.820  18371-18389/? W/System.err? java.net.SocketTimeoutException: failed to connect to /103.24.4.60 (port 80) after 30000ms
09-30 02:32:15.820  18371-18389/? W/System.err? at libcore.io.IoBridge.connectErrno(IoBridge.java:169)
09-30 02:32:15.820  18371-18389/? W/System.err? at libcore.io.IoBridge.connect(IoBridge.java:122)
09-30 02:32:15.820  18371-18389/? W/System.err? at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
09-30 02:32:15.820  18371-18389/? W/System.err? at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:456)
09-30 02:32:15.820  18371-18389/? W/System.err? at java.net.Socket.connect(Socket.java:882)
09-30 02:32:15.820  18371-18389/? W/System.err? at com.android.okhttp.internal.Platform.connectSocket(Platform.java:139)
09-30 02:32:15.820  18371-18389/? W/System.err? at com.android.okhttp.Connection.connect(Connection.java:148)
09-30 02:32:15.820  18371-18389/? W/System.err? at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:276)
09-30 …
Run Code Online (Sandbox Code Playgroud)

android

13
推荐指数
3
解决办法
3万
查看次数

Android:NullPointerException:尝试在空对象引用上调用虚方法'int android.graphics.Bitmap.getWidth()'

我试图将SD卡中的图像转换为位图以便在Image-view中显示.运行应用程序后,首先显示两到三个图像,但是当我滚动列表应用程序崩溃并获得NullPointerException异常时:java.lang.NullPointerException:尝试在com.example.tazeen.classnkk.Activity1 $ MyListAdapter.getView(Activity1.java:357)上的空对象引用上调用虚拟方法'int android.graphics.Bitmap.getWidth()'

                if(objElement.endsWith(mp3_Pattern))
                {
                    Log.e("Mp3 ", " ends with ");

                    {
                        int  scalFactor  = fixHeight / h ;
                        newWidth = (int)( w * scalFactor);
                        Log.e("scalFactor "," = " + scalFactor);
                        Log.e("newWidth "," = " + newWidth);
                        Log.e("resizing...  ","in if condition");
                        new_Height = fixHeight ;
                    }
                    else
                    {
                        newWidth = w;
                        new_Height = h;
                    }


                    Uri uri = Uri.fromFile(new File(objElement));
                    Picasso.with(getContext()).load(uri).resize(newWidth, new_Height).placeholder(R.drawable.img_placeholder).into(imageView , new com.squareup.picasso.Callback() {
                        @Override
                        public void onSuccess() {
                            if (pBar != null) {
                                pBar.setVisibility(View.GONE);
                            } …
Run Code Online (Sandbox Code Playgroud)

android

8
推荐指数
1
解决办法
3万
查看次数

Android:如何计算图像的宽高比?

我有100张巨大的图像(500*700,401*800,2345*3567),所以我希望所有这些图像的高度都与220相同.下面我正在实现图像宽高比的计算.我想设置所有大尺寸图像的固定高度.我正在使用一些算术公式来计算纵横比,但是所有图像的宽度都相同,高度不同但我希望高度固定.如何获得固定高度?感谢欣赏.

这是我的图像宽高比的计算代码

if (bitmapResizeImage != null) {
    int originalWidth = bitmapResizeImage.getWidth();
    int originalHeight = bitmapResizeImage.getHeight();
    Log.e("originalWidth "," = " + originalWidth +" originalHeight = " + originalHeight+" of imgElement = " + imgElement+ " Notation = " +all_Post.getStrNotationNo());

    float aspect_ratio = originalWidth / originalHeight ;
    Log.e("aspect_ratio "," = " + aspect_ratio);

    float adjusted_width = 220 * originalWidth / originalHeight ;
    Log.e("adjusted_width "," = " + adjusted_width);
    float adjusted_height = originalWidth * originalHeight / originalWidth ;
    Log.e("adjusted_height "," = " + …
Run Code Online (Sandbox Code Playgroud)

android

1
推荐指数
1
解决办法
3094
查看次数

Android:在访问游标之前,请确保游标已正确初始化

我遇到错误从SQLite数据库表中检索某些数据的同时,请确保在访问游标之前正确初始化了游标

这是我的查询

dbhelper = new MyDbHelper(getContext());
                    SQLiteDatabase db = dbhelper.getReadableDatabase();
                    Cursor cursor1 = db.rawQuery("select MAX(activityObjId) from ActivityObjectList where activityId " + "= ? ", new String[]{string_ActivityId});

                    if (cursor1.moveToFirst())
                    {
                        maxACtivityObjId  = cursor1.getString(cursor1.getColumnIndex("activityObjId"));
                        Log.e("MAX  ", "maxACtivityObjId = " + maxACtivityObjId);
                    }
                    cursor1.close();
                    db.close();
Run Code Online (Sandbox Code Playgroud)

android android-sqlite

-2
推荐指数
1
解决办法
6748
查看次数

标签 统计

android ×6

android-bitmap ×1

android-sqlite ×1