精华内容
下载资源
问答
  • 项目中遇到需求要动态改变字体,于是在网上找了一些...此代码导致内存一直增加。后来写了一个字体单例工具类,可以在创建实例对象的时候加载一次字体即可,避免反复调用。 public class FontStyleUtils { private v

    项目中遇到需求要动态改变字体,于是在网上找了一些字体样式进行设置,但是发现没过一会内存就占用特别高而且只增加不减,最后想到是每次加载字体都会调用

    paint.setTypeface(Typeface.createFromAsset(context.getAssets(),"fonts/kaiti.ttf"))
    

    此代码导致内存一直增加。后来写了一个字体单例工具类,可以在创建实例对象的时候加载一次字体即可,避免反复调用。

    public class FontStyleUtils {
    
        private volatile static FontStyleUtils instance;
        private static Typeface localTypeface;
        private FontStyleUtils (){}
    
        public static FontStyleUtils getInstance(Context context) {
            if (instance == null) {
                synchronized (FontStyleUtils.class) {
                    if (instance == null) {
                        instance = new FontStyleUtils();
                        localTypeface = Typeface.createFromAsset(context.getAssets(),"fonts/kaiti.ttf");
                    }
                }
            }
            return instance;
        }
    
        /**
         * 楷体
         * @return
         */
        public static Typeface setFontType() {
            return localTypeface;
        }
    
    }
    

    这样直接调用即可

    paint.setTypeface(FontStyleUtils.getInstance(control.getActivity()).setFontType());
    
    展开全文
  • rails 内存一直增加

    2010-01-07 13:39:10
    rails 内存一直增加 ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux], MBARI 0x8770, Ruby Enterprise Edition 2009.10 rails 1.2.6 rails 2.3.5同时存在 sqlite3-ruby (1.2.5) sqlite3 mysql数据库,...
    rails 内存一直增加 
    ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux], MBARI 0x8770, Ruby Enterprise Edition 2009.10
    rails 1.2.6 rails 2.3.5同时存在
    sqlite3-ruby (1.2.5)
    sqlite3 mysql数据库,都用过
    内存总是在增加。
    ldd ruby
    libtcmalloc_minimal.so.0 => /usr/local/lib/libtcmalloc_minimal.so.0 (0xb7eec000)
    现在内存还是一直在增加,1g内存,由原来的2.9%,增加到4.0%
    请问还要配置什么啊,
    ubuntu8.0.4 32位系统
    请求帮助?
    我是用mongrel或webrick启动的
    展开全文
  • <div><p>ios 下多次进入业务,会导致内存一直增加,有什么办法解决?</p><p>该提问来源于开源项目:smallnew/react-native-multibundler</p></div>
  • 加密导致内存溢出(LinkedHashMap$Entry内存一直增加) https://blog.csdn.net/MrLiar17/article/details/86748353 https://www.jianshu.com/p/b67bb91530b5 参照这两个链接,自己用jmap看了内存信息发现有很多...

    加密导致内存溢出(LinkedHashMap$Entry内存一直增加)

    在这里插入图片描述
    https://blog.csdn.net/MrLiar17/article/details/86748353
    https://www.jianshu.com/p/b67bb91530b5
    参照这两个链接,自己用jmap看了内存信息发现有很多BouncyCastleProvider这个对象。
    按照链接里的修改代码
    原代码:

    public static String decrypt(String encryptStr, String decryptKey) throws Exception {
            //base64格式的key字符串转byte
            byte[] decodeBase64 = Base64.decodeBase64(encryptStr);
    
            //设置Cipher对象
            Cipher cipher = Cipher.getInstance(ALGORITHMS,new BouncyCastleProvider());
            cipher.init(Cipher.DECRYPT_MODE, new SecretKeySpec(decryptKey.getBytes(), KEY_ALGORITHM));
            //调用doFinal解密
            byte[] decryptBytes = cipher.doFinal(decodeBase64);
            return new String(decryptBytes);
        }
    

    修改后:

    private static BouncyCastleProvider bouncyCastleProvider = new BouncyCastleProvider();
    public static String decrypt(String encryptStr, String decryptKey) throws Exception {
            //base64格式的key字符串转byte
            byte[] decodeBase64 = Base64.decodeBase64(encryptStr);
    
            //设置Cipher对象
    //        Cipher cipher = Cipher.getInstance(ALGORITHMS,new BouncyCastleProvider());
            Cipher cipher = Cipher.getInstance(ALGORITHMS,bouncyCastleProvider);
            cipher.init(Cipher.DECRYPT_MODE, new SecretKeySpec(decryptKey.getBytes(), KEY_ALGORITHM));
            //调用doFinal解密
            byte[] decryptBytes = cipher.doFinal(decodeBase64);
            return new String(decryptBytes);
        }
    

    修改后内存正常,问题可以解决,但是我也不知道原理。
    按照上述链接改成单例模式也是不起作用的,要用静态变量才可以。
    链接里说:
    “new BouncyCastleProvider() 是静态方法中的, new一个多一个,GC不回收, 慢慢就宕机。”
    “可以看到因为verificationResults是静态的,不会被GC,所以随着加密工具类调用的次数增加,verificationResults存储的BouncyCastle也越来越多,最终导致OOM。”
    这个说法正确吗?静态方法里不能new对象?
    为什么单例模式不起作用?单例的实例和静态变量有什么不同?

    https://blog.csdn.net/u013642886/article/details/90145154
    这个链接里说的有道理,真正原因应该是这个

    展开全文
  • <div><p>播放动态webp的时候native内存占用一直增加,可以被GC掉。1.5.4.8.0版本。</p><p>该提问来源于开源项目:zjupure/GlideWebpDecoder</p></div>
  • fwrite为什么会导致内存一直增加。。。

    转载出处:http://bbs.csdn.net/topics/260006635

    (1)写操作的过程空间

        用户空间(user-space) ¦  内核空间(incore-space)  ¦  buffer cache ¦ disk ¦   
        1.用户空间:fwrite()内申请的缓存内存空间。因为用户可以通过setbuffer()等函数对其进行设定; 
        2.内核空间:write()内申请的缓存内存空间。这个是OS为写操作申请的内存,对用户来说不可见。 
        3.buffer cache: 这个东东是造成我们内存减少的主要原因。不是我们的过错,是OS的特性;
        4.disk:这个就不说了。  

    (2)同步问题
        即使我们在fwrite()、write()后面使用了sync(),fsync()等同步操作,在内存中也会保留buffer cache的,所以内存不会减少...

       几个同步函数
         1.fflush():The function fflush() forces a write of all user-space buffered data for the given output or update stream 
                    via the stream's underlying write function.  The open status of the stream is unaffected. 
                    我的理解是该函数将fwrite()里面的缓存内容强行压入底层(内核空间?cache?disk?)。至于压倒哪里就不明白了,我猜是压入到了
                      write()的内核空间。
         2.fsync(): fsync() transfers ("flushes") all modified in-core data of (i.e., modified buffer cache pages for) the file 
                   referred to by the file descriptor fd to the disk device (or other permanent storage device) where that file 
                   resides. 
                   我的理解是该函数将write()里面内核空间(修改的部分)压入到磁盘设备。但是这里的buffer cache pages又不明白和内核空间的关系了

    展开全文
  • RDS的内存使用量一直在缓慢的增加,已经达到了94.77%。于是就提了一个工单咨询了阿里云的工程师。 一、具体问题 RDS-MySQL的内存使用量慢慢的升上来了,现在达到了95%了,一直在慢慢的往上升。是数据库存在什么问题...
  • 上次老师跟大家分享了下基于Dataway在SpringBoot中使用实例的相关知识,今天跟大家分享Spring Boot如何排查内存泄露的知识。1Spring Boot如何排查内存泄露背景为了更好地实现对项目的管理,我们将组内一个项目迁移到...
  • ![这个是我的一个开发中的项目的截图]... 一旦运行程序,左边的“memory”就是上面这个走势,等待10多分钟,自己能把自己加到700M,然后成序自己崩掉!...。。
  • 公司一个java web项目,部署在window 2008 r2, 6g内存。运行一段时间后,物理内存达到90%以上。 通过jconsole等工具查看,jvm释放正常。通过rammap查看,发现nonpaged pool占用过高。 请问这个会是什么原因呢? ...
  • Java jvm内存溢出是指应用程序在运行的过程中,由于有不断的数据写入到内存,到导致内存不足,进程被系统内核杀死。所在在服务程序运行的时候,要观察一段时间的程序内存使用和分配情况。事故起因在一次游戏合服的...
  • Thread 0读取操作日志文件,malloc内存,插入内存队列缓存。Thread 1,Thread 2,Thread 3,Thread 4从内存队列读取内容进行操作。二、现象过程经过几个月运行,集群中有机器内存耗尽,只能重启。查看集群其他机器,...
  • 1.用户空间:fwrite()内申请的缓存内存空间。因为用户可以通过setbuffer()等函数对其进行设定; 2.内核空间:write()内申请的缓存内存空间。这个是OS为写操作申请的内存,对用户来说不可见。 3.buffer...
  • 程序放到线上运行,虚拟内存一直增加,代码里所有分配内存的地方也都检查过了,暂时没有发现哪里泄露的地方.虚拟内存吃到2个G的时候,程序也就挂了,程序里所有申请内存的操作都会失败. [img=...
  • fwrite为什么会导致内存一直增加

    千次阅读 2018-07-09 22:47:36
    (1)写操作的过程空间 用户空间(user-space) ¦ 内核空间(incore-space...1.用户空间:fwrite()内申请的缓存内存空间。因为用户可以通过setbuffer()等函数对其进行设定; 2.内核空间:write()内申请的缓...
  • 来自:美团技术团队,作者: 纪兵链接:https://tech.meituan.com/2019/01/03/spring-boot-native-memory-leak.html背景为了更好地实现对项目的...笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物...
  • 当时那个帖子需要的只是一种很简单的实现。我举个例子:有控制器A和控制器B,B是从A条跳转的。 当时的问题是在B返回A后,再从A跳转到B,怎么保持B的状态不变? 但是这里引申了另一个问题,为什么B会改变?...
  • 作者:纪兵来源:tech.meituan.com/2019/01/03/spring-boot-native-memory-leak.html背景为了更好地实现对...笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物理内存竟然高达7G,确实不正常。JVM...
  • <div><p>如题</p><p>该提问来源于开源项目:jadennn/flutter_ijk</p></div>
  • -- in class definition [DllImport("KERNEL32.DLL", EntryPoint = "SetProcessWorkingSetSize", SetLastError = true, CallingConvention = CallingConvention.StdCall)] internal static extern bo...
  • # 背景为了更好地实现对项目的管理...笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物理内存竟然高达7G,确实不正常。JVM参数配置是“-XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:+Alwa...
  • 背景为了更好地实现对项目的管理...笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物理内存竟然高达7G,确实不正常。JVM参数配置是“-XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:+Always...
  • 点击上方“JAVA”,星标公众号重磅干货,第一时间送达背景...笔者被叫去帮忙查看原因,发现配置了4G堆内内存,但是实际使用的物理内存竟然高达7G,确实不正常。JVM参数配置是“-XX:MetaspaceSize=256M -XX:MaxMet...
  • 然后开始测试,接着就发现了一个问题,再请求切换图片时【图片不重复】,运行内存一直增加,当我把 imageView.image = responseImage; 这行注释掉之后,内存一切正常;发现如果将请求拿到的 responseImage 直接...
  • 写个要24小时运行的程序,可是发现每过几分钟内存增加4KB,在网上查了不少关于内存泄露的资料,可是还是找不到内存泄露的原因,用到的new都跟着free释放掉了,CDC的几个句柄也释放掉了。用了visual Leak Detector...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 880
精华内容 352
关键字:

内存一直增加