<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JBOSS 點滴

    豐豐的博客

    #

    android在布局中圖片大小自適應(yīng)

    一、適應(yīng)某控制:
          XML:

                    <WebView
                        android:id="@+id/awaimage"
                        android:layout_width="90dp"
                        android:layout_height="80dp"
                        android:layout_marginLeft="2dp"
                android:layout_marginRight="2dp"
                android:scaleType="fitXY"

         JAVA:
    /*            WebSettings webSettings = holder.imageView.getSettings();    
                webSettings.setUseWideViewPort(true); //設(shè)置加載進來的頁面自適應(yīng)手機屏幕 
                webSettings.setLoadWithOverviewMode(true); 
    */

                
    //允許使用javascript  
           
    //     webSettings.setJavaScriptEnabled(true); 

    二、自動適應(yīng)屏幕大小:
             WebSettings webSettings = holder.imageView.getSettings();   
             webSettings.setUseWideViewPort(true); //設(shè)置加載進來的頁面自適應(yīng)手機屏幕
             webSettings.setLoadWithOverviewMode(true); 
             //允許使用javascript  
             webSettings.setJavaScriptEnabled(true);

    posted @ 2015-05-13 14:39 半導(dǎo)體 閱讀(377) | 評論 (0)編輯 收藏

    Android圖片處理內(nèi)存溢出學(xué)習(xí)

        

            Android圖片處理內(nèi)存溢出學(xué)習(xí)             

    原文:

    http://blog.csdn.net/huangbiao86/article/details/8072128

    最近遇到一個問題,在Android機器上,調(diào)用自帶的相機拍攝后獲得相處,并且對獲得的相片進行縮放,旋轉(zhuǎn),截取等操作,看似很簡單,但是卻遇到了一個,讓人心疼的問題,我這里用五能手機進行測試,當(dāng)然,功能測試是沒有問題,當(dāng)發(fā)給客戶去測試的時候,卻出現(xiàn)了內(nèi)存溢出,哎無言啊...

    原來他用的是三星的G3手機進行測試的,我們沒有這款手機,后來借別人的G3手機測試,果然也出現(xiàn)這個問題:

    1. java.lang.OutOfMemoryError  
    2. at android.graphics.BitmapFactory.nativeDecodeByteArray(Native Method)  
    3. at android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:518)  
    4. at android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:535)  
    5. at com.yippeearts.flashcards.CameraPage$1.onPictureTaken(CameraPage.java:73)  
    6. at android.hardware.Camera$EventHandler.handleMessage(Camera.java:734)  
    7. at android.os.Handler.dispatchMessage(Handler.java:99)  
    8. at android.os.Looper.loop(Looper.java:137)  
    9. at android.app.ActivityThread.main(ActivityThread.java:4514)  
    10. at java.lang.reflect.Method.invokeNative(Native Method)  
    11. at java.lang.reflect.Method.invoke(Method.java:511)  
    12. at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)  
    13. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)  
    14. at dalvik.system.NativeStart.main(Native Method)  

    這個在不同的手機上出現(xiàn)這種錯誤還是有點尷尬的。一直以為是對圖片的邏輯處理出了什么問題,經(jīng)過總結(jié)發(fā)現(xiàn),估計是因為G3手機拍攝相片分辨率過高,使圖片過大,造成過程中內(nèi)存溢出,通過網(wǎng)上搜索若干解決加載大圖片時內(nèi)存溢出的問題:

     

    盡量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource來設(shè)置一張大圖,因為這些函數(shù)在完成decode后,最終都是通過java層的createBitmap來完成的,需要消耗更多內(nèi)存。

    因此,改用先通過BitmapFactory.decodeStream方法,創(chuàng)建出一個bitmap,再將其設(shè)為ImageView的 source,decodeStream最大的秘密在于其直接調(diào)用JNI>>nativeDecodeAsset()來完成decode,無需再使用java層的createBitmap,從而節(jié)省了java層的空間。
    如果在讀取時加上圖片的Config參數(shù),可以跟有效減少加載的內(nèi)存,從而跟有效阻止拋out of Memory異常
    另外,decodeStream直接拿的圖片來讀取字節(jié)碼了, 不會根據(jù)機器的各種分辨率來自動適應(yīng), 使用了decodeStream之后,需要在hdpi和mdpi,ldpi中配置相應(yīng)的圖片資源, 否則在不同分辨率機器上都是同樣大小(像素點數(shù)量),顯示出來的大小就不對了。


    內(nèi)存溢出解決辦法:

    1、模擬器RAM比較小,只有8M內(nèi)存,當(dāng)我放入的大量的圖片(每個100多K左右),就出現(xiàn)上面的原因。由于每張圖片先前是壓縮的情況,放入到Bitmap的時候,大小會變大,導(dǎo)致超出RAM內(nèi)存,具體解決辦法如下:

    1. // 解決加載圖片 內(nèi)存溢出的問題  
    2. // Options 只保存圖片尺寸大小,不保存圖片到內(nèi)存  
    3. BitmapFactory.Options opts = new BitmapFactory.Options();  
    4. // 縮放的比例,縮放是很難按準備的比例進行縮放的,其值表明縮放的倍數(shù),SDK中建議其值是2的指數(shù)值,值越大會導(dǎo)致圖片不清晰  
    5. opts.inSampleSize = 4;  
    6. Bitmap bmp = null;  
    7. bmp = BitmapFactory.decodeResource(getResources(), mImageIds[position],  
    8.                 opts);  
    9. // 回收  
    10. bmp.recycle();  

    2、優(yōu)化Dalvik虛擬機的堆內(nèi)存分配

     

    對于Android平臺來說,其托管層使用的Dalvik JavaVM從目前的表現(xiàn)來看還有很多地方可以優(yōu)化處理,比如我們在開發(fā)一些大型游戲或耗資源的應(yīng)用中可能考慮手動干涉GC處理,使用dalvik.system.VMRuntime類提供的setTargetHeapUtilization方法可以增強程序堆內(nèi)存的處理效率。當(dāng)然具體原理我們可以參考開源工程,這里我們僅說下使用方法:   private final static floatTARGET_HEAP_UTILIZATION = 0.75f; 在程序onCreate時就可以調(diào)用VMRuntime.getRuntime().setTargetHeapUtilization(TARGET_HEAP_UTILIZATION);即可。

    Android堆內(nèi)存也可自己定義大小

    對于一些Android項目,影響性能瓶頸的主要是Android自己內(nèi)存管理機制問題,目前手機廠商對RAM都比較吝嗇,對于軟件的流暢性來說RAM對性能的影響十分敏感,除了 優(yōu)化Dalvik虛擬機的堆內(nèi)存分配外,我們還可以強制定義自己軟件的對內(nèi)存大小,我們使用Dalvik提供的dalvik.system.VMRuntime類來設(shè)置最小堆內(nèi)存為例:

    1. private final static int CWJ_HEAP_SIZE = 610241024 ;  
    2.   
    3. VMRuntime.getRuntime().setMinimumHeapSize(CWJ_HEAP_SIZE); //設(shè)置最小heap內(nèi)存為6MB大小。當(dāng)然對于內(nèi)存吃緊來說還可以通過手動干涉GC去處理  

    bitmap 設(shè)置圖片尺寸,避免 內(nèi)存溢出 OutOfMemoryError的優(yōu)化方法
    ★android 中用bitmap 時很容易內(nèi)存溢出,報如下錯誤:Java.lang.OutOfMemoryError : bitmap size exceeds VM budget

     

    主要是加上這段:

    BitmapFactory.Options options = new BitmapFactory.Options();
    options.inSampleSize = 2;

     eg1:(通過Uri取圖片)

    1. private ImageView preview;  
    2. BitmapFactory.Options options = new BitmapFactory.Options();  
    3. options.inSampleSize = 2;//圖片大小,設(shè)置越大,圖片越不清晰,占用空間越小  
    4. Bitmap bitmap = BitmapFactory.decodeStream(cr.openInputStream(uri), null, options);  
    5. preview.setImageBitmap(bitmap);  

    eg2:(通過路徑去圖片)

     

    1. private ImageView preview;  
    2. private String fileName= "/sdcard/DCIM/Camera/2010-05-14 16.01.44.jpg";  
    3. BitmapFactory.Options options = new BitmapFactory.Options();  
    4. options.inSampleSize = 2;//圖片寬高都為原來的二分之一,即圖片為原來的四分之一  
    5. Bitmap b = BitmapFactory.decodeFile(fileName, options);  
    6. preview.setImageBitmap(b);  
    7. filePath.setText(fileName);  

    在圖片處理的時候,確保圖片引用及時回收。

    posted @ 2015-05-12 18:54 半導(dǎo)體 閱讀(230) | 評論 (0)編輯 收藏

    安卓 html顯示時,圖片無法加載

    <!--  hardwareAccelerated解決4.0啟動了硬件加速 ,HTML網(wǎng)絡(luò)圖片無法正常顯示的問題-->
    android:hardwareAccelerated="false"

    posted @ 2015-05-05 20:57 半導(dǎo)體 閱讀(272) | 評論 (1)編輯 收藏

    安卓顯示HTML

    方法1、使用 CDATA(推薦)
    <string name="demoStr"><Data><![CDATA[ <b>ABC</b> ]]> </Data></string>
    方法2、轉(zhuǎn)義HTML標(biāo)簽
    <string name="myHeadStr">&lt;b>&lt;u>bold, underline &lt;/u>&lt;/b></string>
    在程序里引用:
    Html.fromHtml(getResources().getString(R.string.myHeadStr));
    效果圖
    android string html標(biāo)簽用法
    string.xml代碼
    Code   ViewCopyPrint
    1. <string name="test"><Data><![CDATA[ <b><font color="#ff0000">ABC</font></b> ]]></Data></string>  

    java代碼:

    Code   ViewCopyPrint
    1. import android.app.Activity;   
    2. import android.app.AlertDialog;   
    3. import android.content.DialogInterface;   
    4. import android.os.Bundle;   
    5. import android.text.Html;   
    6.   
    7. public class testActivity extends Activity {   
    8.     public void onCreate(Bundle savedInstanceState) {   
    9.         super.onCreate(savedInstanceState);   
    10.         AlertDialog.Builder dialog = new AlertDialog.Builder(testActivity.this);   
    11.         dialog.setTitle("測試HTML標(biāo)簽").setMessage(Html.fromHtml(getString(R.string.test))).setPositiveButton(getString(R.string.btn_confirm), new DialogInterface.OnClickListener() {   
    12.             public void onClick(DialogInterface dialog, int which) {   
    13.   
    14.             }   
    15.         }).create().show();   
    16.     }   
    17. }   

    posted @ 2015-05-05 13:39 半導(dǎo)體 閱讀(124) | 評論 (0)編輯 收藏

    eclipse luna+tomcat7.0+JDK7.0+maven環(huán)境配置

    eclipse luna+tomcat7.0+JDK7.0+maven環(huán)境配置

    一、下載相關(guān)包:

    eclipse luna下載地址 :  http://www.eclipse.org/downloads/

    JDK7.0下載地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

    Tomcat7.0下載地址:

    http://tomcat.apache.org/download-70.cgi

    MAVEN下載地址:http://maven.apache.org/

    二、環(huán)境變量配置(根據(jù)軟件安裝位置配置如下)

    JAVA_HOME: D:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Java\jdk1.6.0_11\;

    PATH: D:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Java\jdk1.6.0_11\bin;

    M2_HOME:  D:\Program Files (x86)\apache-maven-3.2.5-bin\apache-maven-3.2.5

    PATH D:\Program Files (x86)\apache-maven-3.2.5-bin\apache-maven-3.2.5\bin

    三、    運行eclipse luna

    綠色環(huán)保,直接運行eclipse.exe就行了


    四、導(dǎo)入maven項目前配置

        
    A,tomcat
    配置





    B,JDK配置


    C,MAVEN
    安裝:


    D,
    導(dǎo)入maven項目:


    E,
    導(dǎo)入后如果項目報錯,請執(zhí)行:

    在項目上右擊,選擇菜單maven->update project MAVEN會自動搜索項目中需要的jar包)

       F、運行服務(wù):

    選擇run on server->tomcat 7

    iE上輸入:http://localhost:8080/項目名   測試一下吧。

    posted @ 2015-02-12 10:04 半導(dǎo)體 閱讀(2903) | 評論 (1)編輯 收藏

    MAVEN環(huán)境變量配置

    一、JDK配置:JAVA_HOME  PATH 
    二、新建M2_HOME環(huán)境:  如:D:\Program Files (x86)\apache-maven-3.2.5-bin\apache-maven-3.2.5
    三、PATH:如:D:\Program Files (x86)\apache-maven-3.2.5-bin\apache-maven-3.2.5\bin
         測試Maven環(huán)境是否搭建成功,在CMD下輸入命令:
          mvn -v
         編譯maven項目方法:cmd下指向項目目錄下,運行命行:mvn compile
         mvn te

    posted @ 2015-02-11 17:41 半導(dǎo)體 閱讀(209) | 評論 (0)編輯 收藏

    sqlserver創(chuàng)建用戶,指定數(shù)據(jù)庫,指定表的權(quán)限

    http://www.cnblogs.com/gaizai/archive/2011/07/14/2106617.html
    記住要選擇dbo_owner 別選sysadmin

    posted @ 2014-12-03 16:57 半導(dǎo)體 閱讀(646) | 評論 (0)編輯 收藏

    IREPORT報表實現(xiàn)

         摘要: 一、在JSP中通過傳參數(shù)實現(xiàn)源代碼:(在jasper模板中定義好查詢條件及參數(shù)) Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><%@ page language="java" import="java.util...  閱讀全文

    posted @ 2014-11-19 11:47 半導(dǎo)體 閱讀(383) | 評論 (0)編輯 收藏

    Spring MVC程序中得到靜態(tài)資源文件css,js,圖片文件的路徑問題總結(jié)

    Spring MVC程序中得到靜態(tài)資源文件css,js,圖片

    文件的路徑


    問題總結(jié)

    用 Spring MVC 開發(fā)應(yīng)用程序,對于初學(xué)者有一個很頭疼的問題,那就是程序數(shù)據(jù)都已經(jīng)查詢出來了,但界面樣式仍然十分丑陋,加載不了 css,js,圖片等資源文件。當(dāng)你在瀏覽器上直接輸入某個css文件的路徑時,直接得到404錯誤,而路徑肯定沒有錯,其原因就在于在web.xml 中配置了類似如下的 spring servlet:
    程序代碼 程序代碼

    <servlet>
        <servlet-name>mvc-dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>mvc-dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>

    請注意  <url-pattern>/</url-pattern> 這表示這個servlet 攔截了所有的請求,包括css,js等。所以出現(xiàn)上面描述的情況。如何解決這個css,js等路徑問題呢,有如下幾種解決方案.

    1. 使用spring mvc resource 去讀取靜態(tài)文件
    比如在 WEN-INF 下建立static 文件夾,并在 static 文件夾里面建立css 文件夾,然后建立 1.css  文件.
    修改 mvc-dispatcher-servlet.xml 文件
    程序代碼 程序代碼

    <mvc:resources mapping="/static/**" location="/WEB-INF/static/"/>

    這樣配置之后,可以通過 http://your-ip:port/your-app/static/css/1.css 直接訪問了。

    2. 采用 default servlet
    在 web.xml  里面配置
    程序代碼 程序代碼

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/static/*</url-pattern>
    </servlet-mapping>

    這樣做了之后,所有前綴為static 的請求都交給default servlet 去處理。如果你請求  http://your-ip:port/your-app/static/css/1.css ,就表示在 webcontent 目錄下的css文件夾下的1.css文件。

    3. 通過文件擴展名進行處理
    在 web.xml 里面配置
    程序代碼 程序代碼

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.png</url-pattern>
        <url-pattern>*.js</url-pattern>
        <url-pattern>*.css</url-pattern>
    </servlet-mapping>


    4. 對spring servlet 不用restful 風(fēng)格。在url 上加上前綴
    程序代碼 程序代碼

    <servlet-mapping>
        <servlet-name>mvc-dispatcher</servlet-name>
        <url-pattern>/app</url-pattern>
    </servlet-mapping>

    這樣做的目的是讓 dispatchservlet 去攔截以/app 開頭的那些 URL,并不攔截css,js等。

    5. 對spring servlet 不用restful 風(fēng)格。在url 上加上后綴
    程序代碼 程序代碼

    <servlet-mapping>
        <servlet-name>mvc-dispatcher</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

    這樣做的目的是讓 dispatchservlet 只攔截*.do 的url. 并不攔截css,js等。

    上面介紹的5種方法,根據(jù)情況自己任意選擇一種,現(xiàn)在沒辦法說那種好,那種方法不好,都有可取之處,用在不同的場景而已。

    posted @ 2014-08-24 23:12 半導(dǎo)體 閱讀(23877) | 評論 (3)編輯 收藏

    easy ui API中文文檔

    http://www.cnblogs.com/Philoo/archive/2011/10/01/jeasyui_api_layout.html

    posted @ 2014-08-20 15:01 半導(dǎo)體 閱讀(246) | 評論 (0)編輯 收藏

    僅列出標(biāo)題
    共27頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 Last 
    主站蜘蛛池模板: 精品免费人成视频app| 亚洲一级免费毛片| 成人免费区一区二区三区| 久久精品亚洲男人的天堂| 一区二区三区免费在线视频| 亚洲А∨精品天堂在线| 日韩成人毛片高清视频免费看| 又爽又高潮的BB视频免费看| 另类专区另类专区亚洲| 亚洲av无码天堂一区二区三区| 麻豆69堂免费视频| 国产成人毛片亚洲精品| 99久久99这里只有免费的精品| 国产亚洲人成网站观看| 国产精品99精品久久免费| 亚洲国产精品久久久久婷婷老年| 99久久人妻精品免费二区| 亚洲视频在线一区二区三区| 四虎在线免费视频| 亚洲精品国产suv一区88| 日韩伦理片电影在线免费观看| 爱情岛论坛亚洲品质自拍视频网站 | 亚洲六月丁香六月婷婷蜜芽| 四虎国产精品免费久久| 亚洲色成人四虎在线观看| 国产a级特黄的片子视频免费| 日本高清不卡中文字幕免费| 亚洲综合色婷婷七月丁香| 久久久久免费精品国产| 亚洲欧洲视频在线观看| 成人免费视频88| 全部在线播放免费毛片| 亚洲午夜福利717| 88xx成人永久免费观看| 亚洲 日韩 色 图网站| mm1313亚洲精品无码又大又粗| 国产无遮挡色视频免费观看性色| 久久亚洲AV无码精品色午夜麻| 国产高清不卡免费在线| 亚洲aⅴ无码专区在线观看春色 | 亚洲五月午夜免费在线视频|