利用内存结构及多线程优化多图片下载(IOS篇) 前言 下载地址, 后续发布, 请继续关注本blog 在IOS中,我们常常遇到多图片下载的问题.最简单的解决方案是直接利用别人写好的框架.但是这如同练武,只练外功而不练内功.在这些框架中,SDWebImage这个框架是比较常用的框架,对于该框架的使用,不在这再做详细介绍.主要从计算机的视角和多线程引发的一些问题来分享下如何自己做,或者说SDWebImage大体上也是基于这种方式来做的.在这之前,有必要先说下一些操作系统的基本架构和原理. 内存结构 其…
如果我们需要优化kernel程序,我们必须知道一些GPU的底层知识,本文简单介绍一下GPU内存相关和线程调度知识,并且用一个小示例演示如何简单根据内存结构优化. 一.GPU总线寻址和合并内存访问 假设X指向一个32位整数数组的指针,数组首地址是0x00001232,那么一个线程需要访问第0个成员时是也许是如下访问的: ] 假设内存总线宽度是256位,内存访问时必须和总线宽度对齐,所以内存只能访问0x00000020,0x00000040这种地址(0x20=256位),如果要访问0x0000123…
AJ分享,必须精品 效果: 代码: - (NSArray *)apps { if (!_apps) { NSArray *dictArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"apps.plist" ofType:nil]]; NSMutableArray *appArray = [NSMutableArray array]; for (NSDictionary *di…
原文链接 https://developer.android.com/topic/performance/network-xfer.html 内容概要 理解图片的格式 PNG JPG WebP 如何选择一种图片格式 确定准确质量值 服务端的尺寸大小 ​ 减小图像下载大小 大多数流量传输都包含图像. 因此,你制作的下载的图片越小,就会为用户提供更好的网络体验. 本篇文章提供了让你的图像文件更小以及更加网络友好的指导. 理解图像的格式 Android应用通常使用以下某种或多种文件格式的图片:PNG,…
// // ZZTableViewController.m // 多图片下载 // // Created by Mac on 16/1/19. // Copyright © 2016年 Mac. All rights reserved. // #import "ZZTableViewController.h" #import "ZZApp.h" @interface ZZTableViewController () // 用来存放模型 @property (nona…
首先关于异步加载图片可以参见 夏安明 的博客:http://blog.csdn.net/xiaanming/article/details/9825113 这篇文章最近有了新的更改,大概看了一下,内容更完善了.而我参考他之前的代码,发现了很多与内存有关的问题,这里记录一下发现的问题和解决方法. 本文地址:http://www.cnblogs.com/rossoneri/p/4284478.html 首先上个功能图: 1.本地图片浏览器做成对话框的形式,可以显示文件夹 2. 图片支持多选 3. 图…
继续学习一下Thread的构造函数,在上次[http://www.cnblogs.com/webor2006/p/7760422.html]已经对如下构造都已经学习过了: 多线程与JVM内存结构的关系[了解]: 对于最后一个有疑问的构造中stackSize参数,其实学过编程滴人从参数字面就比较容易理解,栈大小嘛,这里从官方文档上来了解一下这个参数: 而之前在学习java的时候基本上都是把jvm内存结构简单理解成一个栈区.一个堆区,其实要更好的理解这个stackSize,其实需要更细致的了解一下j…
由于手机内存的限制和网络流量的费用现在,我们在加载图片的时候,必须要做好图片的压缩和缓存. 图片缓存机制一般有2种,软引用和内存缓存技术. 1.压缩图片:压缩图片要既不能模糊,也不能拉伸图片. 图片操作的时候,最常用的是BitmapFactory,现在看看如何压缩图片. Bitmapfactory.Options options= new BitmapFactory.Options(); options.inJustDecodeBounds = true;// 如果设置这个参数为ture,就不会…
数据库的存储机构 分为 逻辑存储结构 和 物理存储结构 逻辑存储结构: 数据库.表空间.段.区.块         物理存储结构: 数据库.控制文件.数据文件.初始化参数文件.OS块等. 一个区只能在一个数据文件中,一个段中的各个区可以分别在多个数据文件中.组成区的块是连续的.         SGA (SYSTEM Global Area )系统全局区 [buffer cache]数据高速缓存是(由初始化参数DB_CACHE_SIZE指定大小.工作原理和过程是 LRU(最近最少使用 Least…
如题,本文的宗旨既是透过对象的生命周期,来梳理JVM内存结构及GC相关知识,并辅以AOP及双亲委派机制原理,学习不仅仅是海绵式的吸收学习,还需要自己去分析why,加深对技术的理解和认知,祝大家早日走上自己的"成金之路". Java对象的创建 本部分,从攻城狮编写.java文件入手,详解了编译.载入.AOP原理. 读过<程序员的自我修养>的朋友,对程序的编译及执行会有一个很清晰的认识:编译其实就是将人类能理解的代码文件转译为机器/CPU能执行的文件(包括数据段.代码段),而执…