2017-11-06 13 views
5

3.0으로 업그레이드 한 후 Android 드로잉 스튜디오에서 벡터 드로어 블의 긴 경로에 대해 불평하기 시작했습니다.Android Studio 3.0 벡터 드로어 블 및 LINT 도구 : ignore = "VectorPath"

경고는 말한다 : 성능 나쁜

매우 긴 벡터 경로 (7,958 자). 정밀도 감소, 사소한 세부 사항 제거 또는 벡터 벡터 래스터 화를 고려하십시오. less ... (⌘F1) 긴 벡터 경로를 사용하면 성능에 좋지 않습니다. pathData를 만드는 방법은 여러 가지가 있습니다 짧은 :

이 문서 https://developer.android.com/guide/topics/graphics/vector-drawable-resources.html 우리를 보여줍니다 (PNG로 변환) * 적은 정밀 * * 이미지를 래스터 안드로이드 스튜디오 벡터 변환 도구를 사용하여 * 약간의 세부 사항을 제거 사용 어떻게 우리의 애플 리케이션에 벡터 드로어 블을 사용, 등 PNG의

이상을 권장하기 위해 나는이 두 된 벡터 드로어 블에 SVG 년대를 변환하는 안드로이드 스튜디오 벡터 변환 도구이 우수한 서비스를 사용하여 : http://inloop.github.io/svg2android/

벡터 드로어 블 복잡성을 줄이는 데 도움이되는 다른 서비스가 있습니까? 벡터 드로어 블이 '고급'인 방법은 어디에서 찾을 수 있습니까?

+0

약 1 시간 전에 ['avdo'] (https://github.com/alexjlockwood/avdo)라고 불리는 벡터 드로어 블 최적화 도구가 출시되었습니다. 유용 할 수도 있습니다! –

답변

4

(대신 웹 도구, 나는이 svg2vectordrawable을 사용하고 있습니다 주)는 svgo

내가 좋아하는 외모를 사용하는 예 파이프 라인을 통해 그것을 실행되고, svg2android를 사용하기 전에 추가 할 수 있습니다 추가 단계가있다

~$ svgo image.svg --config=config -o image.svg.optimized 
~$ s2v "image.svg.optimized image.xml 

config 파일 (사용자의 요구에 맞게 그것으로 주위를 재생할 수 있습니다) 다음과 같습니다

"plugins": [ 
    { 
     "convertPathData": { 
      "leadingZero": false, 
      "floatPrecision": 2 
     } 
    } 
] 
+0

이것은 훌륭한 팁입니다! 고마워요! –

+0

'leadingZero'가 있어야하며, 그렇지 않으면'InvalidVectorPath' lint를 얻습니다. – TWiStErRob

+0

' "leadingZero": false'는 선행 제로 최적화를 비활성화하여 최종 결과에 – marianosimone

2

avdo을 사용하여 벡터 드로어 블을 최적화 해보십시오! 경로의 복잡성을 줄이는 데 도움이됩니다.

+0

을 줄였습니다. 크기를 10.5 % 줄 였지만 불행하게도 일부 경로는 보풀에 따라 너무 길었습니다. 경로 나 다른 것을 나눌 수있는 방법이 있습니까? 아니면 PNG를 사용해야합니까? 경로 중 하나는 1595 자입니다. –