关闭

Android内存溢出与优化(五)——防止static引用

总篇地址:Android内存溢出与优化(零)——开题篇前言:在Java中,如果将一个对象加上static修饰符,那么JVM虚拟机就会在内存中一直保留这个对象,这个对象不会被垃圾回收器清理,直到应用退出。为了达到目的,随意使用static修饰符是不好的表现。不过有时候又不得不使用static修饰,那么我们只用尽量避免消耗大内存的对象被static修饰。下面开始Android中的代码讨论。1.常用的Ut...
阅读(25) 评论(0)

MySQL学习笔记——20170812

练习建库建表CREATE DATABASE bookstoreDB; USE bookstoreDB;CREATE TABLE t_booktype( type_id int PRIMARY KEY NOT NULL, type_name VARCHAR(20) UNIQUE NOT NULL ) ENGINE=InnoDB;CREATE TABLE t_book( book...
阅读(25) 评论(1)

MySQL学习笔记——20170811

部分函数 LTRIM() -> 去除左边空格 RTRIM() 去除右边空格 ROUND() -> 四舍五入 LENGTH() -> 获取字符串长度 UPPER() -> 大写显示 LOWER 小写显示 REPLACE(‘hello’,’h’,’w’) -> 替换 INSERT(,,,) INSTR(‘hello’,’e’) -> 返回e在hello中的位置 2 CONVERT(value,type)...
阅读(17) 评论(0)

MySQL学习笔记——20170810

运算符 / % * + - && || > < = != 查询 SELECT 字段名 FROM 表名 WHERE 条件 GROUP BY 字段 (HAVING 条件) ORDER BY 字段 ASC/DESC 示例:SELECT * FROM t_user ORDER BY age ASC;-- 升序 SELECT * FROM t_user ORDER BY age DESC;-- 降序 SEL...
阅读(29) 评论(0)

MySQL学习笔记——20170809

数据完整性 主键约束 PRIMARY KEY 外键约束 PRIMARY KEY 非空约束 NOT NULL 默认约束 DEFAULT 唯一约束 UNIQUE 修改数据表 ALTER TABLE t_user ADD 字段 属性 约束 DROP 字段 属性 约束 MODIFY 字段 属性 CHANGE 字段 属性 示例:ALTER TABLE t_score ADD FOREIGN KEY (st...
阅读(29) 评论(0)

MySQL学习笔记——20170808

数据库DataBase Oracle DB2 SQLServer MySQL 数据模型 层次模型 网状模型 关系模型 关系型数据库 row + col -> table table -> database MySQL yum -y install mysql yum -y install mysql-server yum -y install mysql-devel yum -y install m...
阅读(22) 评论(0)

Linux学习笔记——20170807

Shell用户使用/bin/bash 系统使用/sbin/nologin echo -e “hello\tworld” -> 输出命令,支持转义字符 shell script #! 脚本声明 # 注释 .sh 文件格式 示例 vim test.sh#! /bin/bash # this is a shell scrpit demo echo -e "hello world!" 历史命令 histor...
阅读(28) 评论(0)

Linux学习笔记——20170805

文件命令链接 ln -s /etc/issue /temps/issue -> 软链接 ln /etc/issue /temps/issue -> 硬链接 (像cp,但会实时更新) find find 范围 条件 find / -name httpd which which ls -> 搜索ls所在目录 grep grep mysql /root/install.log -> 查找文本内的内容 gr...
阅读(26) 评论(0)

Linux学习笔记——20170804

Linux文件属性 d文件夹 -文件 r可读 w可写 x可执行例如:d rwx r– r– chmod 754 文件名 (rwxr-xr–) -> 修改权限 4可读 2可写 1可执行 chmod u=rwx,g=r-x,o=r– 文件名 -> 修改权限 chown 用户名 文件名 -> 修改文件所属用户 chgrp 用户名 文件名 -> 修改文件所属组 用户管理文件 /etc/passwd /...
阅读(24) 评论(0)

Linux学习笔记——20170803

软件包分类 源码包 二进制包(RPM包) RPM 软件包管理例如:RedHat、CentOS 路径 /var/lib/rpm 命令 rpm -ivh 包全名 (install verbose hash) ->安装 rpm -qi 包名 -qip 未安装包名 ->查信息 rpm -ql 包名 ->查包的安装路径文件 rpm -qf 文件名 ->查文件所在包有依赖性问题 YUM yum -y insta...
阅读(28) 评论(0)

Linux学习笔记——20170802

分区例如:Windows的C盘、D盘、E盘、F盘 主要分区1 扩展分区(最多1个)逻辑分区5 逻辑分区6 逻辑分区7主要分区和扩展分区一共最多4个,主要分区从1开始,扩展分区内的逻辑分区从5开始 硬盘接口类型 IDE SCSI SATA I II III 格式化 FAT32 exFAT NTFS 设备文件名 IDE —> /dev/hd[a-p] SCSI/SATA/USB —> /dev/sh[a...
阅读(24) 评论(0)

Android内存溢出与优化(四)——防止Handler导致的内存

在Android中,子线程不能直接更新主线程的UI,因此提供了Handler来方便我们操作。在子线程调用handler可以直接发送Message加入MessageQueue,等待Looper取出Message执行操作,这样就完成了从子线程到主线程的UI更新。但是,如果Looper取出的Message执行的操作是使用handler再发消息(发送的消息和之前一样),这样就形成了死循环,这样handler一直被持有引用,无法释放内存,导致内存泄露。...
阅读(59) 评论(0)

Android内存溢出与优化(三)——使用完后要close、recycle、unregister、null

相信大家看到close、recycle、unregister、null,大概已经猜到要说什么了,没错,这一篇都是大家熟知的部分。不过,既然是说内存溢出与优化,这些东西确实又是不可忽略的,懂得的朋友可以跳过,新手朋友请多注意!这些多是系统给出的对象占用,需要主动释放,如果不释放,这些对象将一直占用内存,造成内存泄露!下面的例子,就直接上代码了,相信大家都懂。...
阅读(132) 评论(0)

Android内存溢出与优化(二)——不做无意义的内存消耗

写代码时,我们一般会习以为常的按照惯例的方法走,最后项目也能够完成,顺利竣工。但是,有的朋友查看App内存消耗时,会发现“同样的应用产品,自己的App消耗的内存居然比别人多”。原因就在于,技术不断更新,做同样的事,由于方式不同,消耗的内存量也不同。在能完成同样一件事,用户界面体验相同时,我们应该采取更有效的方式(例如内存消耗更低)。...
阅读(135) 评论(0)

Android内存溢出与优化(一)——不要随意new对象

在开发中,必然会new对象,一般为了方便,很可能我们在每次要用的时候,直接就new对象拿来用,这样既方便又省事。同时,又由于内存垃圾回收器的机制,一般情况下可以让我们不必担心new对象会产生内存溢出的问题(相对于C语言每次要考虑用完后释放,省去了很多麻烦)。但是,对于需要频繁执行的代码块,不必要的执行就会浪费很多性能,对于移动端的开发,这一点还是很值得我们去优化的!...
阅读(802) 评论(0)
16条 共2页1 2 下一页 尾页
    个人资料
    • 访问:1527次
    • 积分:175
    • 等级:
    • 排名:千里之外
    • 原创:16篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档
    最新评论